我在 UITableView Cell 中添加了**UIButton**
。我想在两次点击(UIButton和UITable - didSelectRow
)上添加一项功能。
开启按钮单击我可以通过发件人更改按钮背景图像。 守则如下所示:
-(void)tableButton_OnClick:(id)sender
{
UIButton *btn=(UIButton *)sender;
[btn setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
}
我希望在UITable - didSelectRow
上添加相同的功能,而无需重新加载表格。
答案 0 :(得分:0)
您必须使用公开UITableViewCell
@property
制作自己的自定义UIButton
。然后在didSelectRowAtIndexPath
中你可以使用这样的东西:
- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
YourCell* yourCell = (YourCell*)[tableView cellForRowAtIndexPath:indexPath];
UIButton* button = yourCell.button;
[button setImage:[UIImage imageNamed:@"checked"] forState:UIControlStateNormal];
}
答案 1 :(得分:0)
步骤 - 试试这个
在单元格上添加按钮时,将标记值设置为按钮
例如:
btn.tag = indexpath.row; cell.tag = indexpath.row;
在didSelectRowAtIndexPath
上,根据代码值创建UIButton
例如:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
UITableViewCell *cell=(UITableViewCell *)[self.TableView viewWithTag:indexPath.row];
UIButton *btn=(UIButton *)[cell viewWithTag:indexPath.row];
[self tableButton_OnClick:btn];
}
答案 2 :(得分:0)
if ([[[myarry objectAtIndex:indexPath.row] objectForKey:@"key_name"] isEqualToString:@"1"])
{
[cell.button_my setBackgroundImage:[UIImage imageNamed:@"first.png"] forState:UIControlStateNormal];
}
els
{
[cell.button_my setBackgroundImage:[UIImage imageNamed:@"first_other.png"] forState:UIControlStateNormal];
}