我正在尝试将已分组的 TableView 单元格设置为按钮,但我似乎无法在 XCode 4.2 的界面生成器中或以编程方式找到在哪里进行操作。
我试过将表格 View 单元格链接到 IBAction,但它只允许我创建或链接到 IBOutlet。
作为临时修复,我在单元格中嵌入了一个矩形按钮,但按下时不会突出显示蓝色。
我已经在几个应用程序中看到过这项工作,例如下面的 Safari 应用程序中的“清除历史记录”和“清除 Cookies 和数据”按钮:
最佳答案
假设您的 IBAction 是这样的:
-(IBAction)buttonPressed{
//Do my stuff
}
然后,您应该在您的委托(delegate)中执行此操作:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//check if your cell is pressed
BOOL myCellIsPressed = ...
if(myCellIsPressed)
[self buttonPressed];
}
要检查您的单元格是否被按下,您有几种方法,例如,如果您知道您的按钮在表格中的行:
int myCellRow = 5;
if (myCellRow == IndexPath.row) //YES!
或者您可以在您的单元格中放置一个标签,然后检查是否是那个标签:
#define myTag 5
创建单元格时:
UITableViewCell *myCell = ...
myCell.tag = myTag
在 didSelectRowAtIndexPath 中:
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
if (selectedCell.tag == myTag) //YES!
关于objective-c - TableView 单元格作为按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9530984/