gpt4 book ai didi

ios - 在 UITableView 中点击 UIButton 会点击多个按钮

转载 作者:可可西里 更新时间:2023-11-01 06:07:16 33 4
gpt4 key购买 nike

当我在 UItableView 中选择一个按钮时,其他下方的按钮也会被点击。我在自定义表格 View 中的按钮上使用目标操作,并在方法中更改发件人的标题。为什么单击一个按钮会选择多个 UIButtons?任何帮助/建议将不胜感激。

编辑:我正在使用分段 TableView

这是我的代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

PostTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];

// Configure the cell...
[cell.likeButton addTarget:self action:@selector(likeButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
cell.likeButton.tag = indexPath.section;
return cell;
}

-(void)likeButtonPressed:(UIButton *)sender {
NSLog(@"%d",sender.tag);
[sender setTitle:@"Pressed" forState:UIControlStateNormal];
}

最佳答案

在你的 PostTableViewCell.h 中定义一个委托(delegate)

@protocol HandleCellInteractionDelegate <NSObject>
-(void) didPressButton:(NSString*)action forCell:(UITableViewCell *)theCell;
@end

在 TableView.h 中注册为该协议(protocol)的代理

<HandleCellInteractionDelegate>

在 TableView.m 文件中添加委托(delegate)处理程序

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// Create cell
....
cell.delegate = self;
if (self.qObjects current object's selection state == selected)
enable button
else
disable button
}

添加协议(protocol)功能 #pragma mark HandleCellInteractionDelegate

-(void) didPressButton:(NSString*)action forCell:(UITableViewCell *)theCell{
// Now here you have access to your cell again. And you can update the cell's button text as needed
// Here save selection state in data model.. in self.qObjects <==
cell.questionTextView.text = @"bla bla";

}

关于ios - 在 UITableView 中点击 UIButton 会点击多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25233100/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com