如何在表格单元格按钮中执行操作

时间:2011-08-25 09:48:33

标签: iphone objective-c xcode uitableview uiview

在我的应用程序中,我创建了一个UIViewController页面,我已经采取了一个表。 通过自定义该表,我在该表的每个单元格中创建了一个添加按钮。

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


static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if(cell == nil) {
    [[NSBundle mainBundle] loadNibNamed:@"CustomBuddy" owner:self options:nil];
    cell = self.customCell;
    self.customCell = nil;

}
cell.text = (NSString *)[names objectAtIndex:indexPath.row];



    return cell;
}

并向添加按钮添加操作

  -(IBAction)addButtonClicked
{

    NSLog(@"Add button clicked");

}

现在在这个添加按钮中我希望在单元格中存在名称。 我怎么能这样帮助我....

4 个答案:

答案 0 :(得分:2)

您可以在tableView:cellForRowAtIndexPath创建期间为“添加​​”按钮指定标记。然后,您可以在触发时读取“添加”按钮标记。顺便说一下,它应该是-(IBAction) addButtonClicked:(id) sender

答案 1 :(得分:0)

检查iPhone dynamic UIButton in UITableView

您将看到如何添加和类似地分配标记

答案 2 :(得分:0)

一个简单的解决方案是将addButtonClicked方法更改为

-(IBAction)addButtonClicked:(NSInteger)row{

     NSLog(@"Add button clicked");

 }

当调用选择器yu时,可以传递indexPath.row值。

因此,您可以从数组中取回它。

希望这有帮助

答案 3 :(得分:0)

您可以继承UITableViewCell并为其添加UIButton属性,然后还将addButton处理程序代码添加到tableview单元格,并将按钮操作链接到笔尖中的按钮。如果您需要UITableViewController的句柄,请在自定义表格视图单元格中保留一个插座。请注意,如果用户在您的操作处理代码运行时滚动,您的单元格可能会被清理或重复使用,因此请小心从操作处理代码中引用返回表格单元格(例如,如果操作处理代码在任何操作处理代码中失去控制权点)。

或者,您可以像上面那样将动作处理程序放在视图控制器中,然后在动作处理程序中获取可见单元格并循环查看它们,找出哪个与按钮视图的超级视图匹配。

或者,如果您只需要一个索引来查找您想要的基础对象,那么使用按钮标记作为传递对象索引以供其他帖子中建议的操作处理程序使用的方法也是合理的在动作处理程序中操作。