我在表的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/