我正在尝试将已分组的表视图单元设置为按钮,但是我似乎无法在XCode 4.2的界面构建器中或以编程方式找到它的位置。
我尝试将表格视图单元格链接到IBAction,但它只允许我创建或链接到IBOutlet。
作为临时修复,我在单元格中嵌入了一个矩形按钮,但按下时不会突出显示蓝色。
我在多个应用程序中看到过这项工作,例如下面的Safari应用程序中的清除历史记录和清除Cookie和数据按钮:
答案 0 :(得分:10)
想象一下,你的IBAction是这样的:
-(IBAction)buttonPressed{
//Do my stuff
}
然后,您应该在您的代理中执行此操作:
-(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!
答案 1 :(得分:1)
这些不是按钮.. 清除cookie和其他东西的功能在处理 表视图委托方法
tableview : didselectRow
在那里,您可以找到选择的部分和行,并根据该行执行功能。