我在表的cellForRowAtIndexPath:方法中有一个动态创建的UIButton。它可以很好地加载,并且可以选择,但是在选择时不执行高光动画。我尝试添加:
if(commandButton.isHighlighted),并且在选择时不会触发。这是我加载单元格的方式:

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* CellIdentifier=@"CommandCell";
    UITableViewCell* commandCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    UIButton* commandButton = [[UIButton alloc]initWithFrame:commandCell.frame];
    [commandButton setTitle:@"Title" forState:UIControlStateNormal];
    [commandCell.contentView addSubview:commandButton];
    commandButton.backgroundColor = [UIColor blackColor];
    return commandCell;
}

每当我单击它时,commandButton都不会突出显示...

编辑:这是一个愚蠢的问题,我没有按住鼠标足够长的时间。对于那些遇到类似问题的人,只需在iOS模拟器中按下按钮更长的时间。

最佳答案

这可以帮助您将以下代码添加到您的代码中吗

如果要在tuchupinside上放置一些图像,请在下面的代码中。

[commandButton setBackgroundImage:/*add you image using UIImage*/forState: UIControlStateHighlighted];

如果您想简单(当背景色出现在tuchupinside的按钮中时为默认背景色)。
UIButton *buttonTap=[UIButton buttonWithType:UIButtonTypeRoundedRect];

然后像这样设置框架
buttonTap.frame=commandCell.frame;
//make some adjustment as per requied.

如果您想要一些模糊效果(选择时为半部分)
那你去
UIButtonTypeCustom //type

关于ios - 动态创建UIButton时不突出显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20866588/

10-10 17:37