Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在不重新加载的情况下更改UITableView didSelectRow上的UIButton背景图像_Objective C_Uitableview_Uibutton - Fatal编程技术网

Objective c 如何在不重新加载的情况下更改UITableView didSelectRow上的UIButton背景图像

Objective c 如何在不重新加载的情况下更改UITableView didSelectRow上的UIButton背景图像,objective-c,uitableview,uibutton,Objective C,Uitableview,Uibutton,我在UITableView单元格中添加了一个**UIButton**。我想在UIButton和UITable-didSelectRow上都添加一个功能 点击按钮后,我可以按发件人更改按钮背景图像。 代码如下所示: -(void)tableButton_OnClick:(id)sender { UIButton *btn=(UIButton *)sender; [btn setImage:[UIImage imageNamed:@"checked.png"] forState:UI

我在UITableView单元格中添加了一个**UIButton**。我想在UIButton和UITable-didSelectRow上都添加一个功能

点击按钮后,我可以按发件人更改按钮背景图像。 代码如下所示:

-(void)tableButton_OnClick:(id)sender
{
    UIButton *btn=(UIButton *)sender;
    [btn setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
}
- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    YourCell* yourCell = (YourCell*)[tableView cellForRowAtIndexPath:indexPath];
    UIButton* button = yourCell.button;
    [button setImage:[UIImage imageNamed:@"checked"] forState:UIControlStateNormal];
}

我想在UITable上添加相同的功能-didSelectRow而不重新加载表。

您必须使用public@property UIButton创建自己的自定义UITableViewCell。然后在didSelectRowAtIndexPath中,您可以使用如下内容:

-(void)tableButton_OnClick:(id)sender
{
    UIButton *btn=(UIButton *)sender;
    [btn setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
}
- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    YourCell* yourCell = (YourCell*)[tableView cellForRowAtIndexPath:indexPath];
    UIButton* button = yourCell.button;
    [button setImage:[UIImage imageNamed:@"checked"] forState:UIControlStateNormal];
}
步骤-试试这个

在单元格上添加按钮时,将标记值设置为按钮

例如:

btn.tag=indexpath.row; cell.tag=indexpath.row

在didSelectRowAtIndexPath上,根据标记值创建UIButton 例如:


检查这个,好的。获取了解决方案-UITableViewCell*cell=UITableViewCell*[FilterTableViewWithTag:indexPath.row];UIButton*btn=UIButton*[cell viewWithTag:indexPath];[btn setImage:[UIImage ImageName:@checked]用于状态:UIControlStateNormal];好啊获取了解决方案-UITableViewCell*cell=UITableViewCell*[FilterTableViewWithTag:indexPath.row];UIButton*btn=UIButton*[cell viewWithTag:indexPath];[btn setImage:[UIImage ImageName:@checked]用于状态:UIControlStateNormal];