向单元格添加按钮 - 逻辑问题

时间:2012-03-08 15:03:14

标签: iphone objective-c cocoa-touch

我在单元格中添加了一个按钮,因此如果有10个单元格,则每个单元格会有一个按钮。

这是我将按钮添加到单元格的方式

cellForRowAtIndexPath

中的

 UIButton *but= [UIButton buttonWithType:UIButtonTypeCustom];
    [but addTarget:self 
                         action:@selector(submitReceiptButtonClicked:)forControlEvents:UIControlEventTouchDown];

    but.frame = CGRectMake(0,0,200,30);
    [cell.contentView addSubview:but];

单击此按钮时,我将使用UIAlertView提醒用户,如果用户在AlertView中单击“确定”,我需要将该按钮的文本更改为“完成”。

clickedButtonAtIndex

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

 NSString *name= [alertView buttonTitleAtIndex:buttonIndex];

if([name isEqualToString:@"OK"])
        {

// Here i need to change the text of the Button (which is in a cell) to `Done`.

}

当用户点击UIAlertVIew的OK按钮时,我需要将按钮的文本更改为Done(此按钮应该属于我单击的单元格。其他单元格中的按钮不应更改。)

1 个答案:

答案 0 :(得分:0)

1将按钮标记设置为indexPath.row + aConstant

2 in submitReceiptButtonClicked:(id)sender read button tag并将其放入全局NSInteger

alertView委托中的

3获取带有cellForRowAtIndexPath:的单元格,indexPath将为[NSIndexPath indexPathForRow:yourSavedInteger - aConstant inSection:0];然后从单元格的内容视图UIButton *myButton = (UIButton *)[cell.contentView viewWithTag:yourSavedInteger];获取按钮并更改按钮标题。