无法在UITableViewCell中更改按钮的选定状态图像

时间:2014-10-25 03:27:04

标签: ios uitableview button

我有一个按钮动作和插座链接到我的TableViewCell.h。在故事板中,我能够设置默认状态图像,并且我已经添加了选定的状态图像。问题是当选择没有任何反应时。在故事板中,动作说“内部触摸”。按下代码在coredata中注册,但在视觉上没有任何变化。

在我的TableViewCell.h中我有动作,但由于其他属性委托给UIViewController:

- (IBAction)myBtn:(id)sender {
    [self.delegate tableViewCell:self];
}

在UIViewController中:

-(void)tableViewCell:(TableViewCell *)cell {
// code...
}

最终,我试图为按钮按下创建一个Bool,因此它处于默认状态或被选中,但也给我带来麻烦。

我还尝试在代码中设置图片:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//code...
    [cell.myBtn setBackgroundImage:[UIImage imageNamed:@"link normal"] forState:UIControlStateNormal];
    [cell.myBtn setBackgroundImage:[UIImage imageNamed:@"link highlight"] forState:UIControlStateHighlighted];

但是再次选择没有任何反应。

2 个答案:

答案 0 :(得分:1)

更新IBAction中按钮的选定属性

- (IBAction)myBtn:(id)sender {
    sender.selected = !sender.selected
    [self.delegate tableViewCell:self];
}

答案 1 :(得分:0)

试试这个:

[cell.myBtn setBackgroundImage:[UIImage imageNamed:@"link highlight"] forState:UIControlStateSelected];

突出显示stae,选择状态不同。