首页 文章

表视图单元格作为按钮

提问于
浏览
4

我正在尝试设置已分组的表视图单元格,但是我似乎无法在XCode 4.2的界面构建器中或以编程方式找到在何处执行此操作 .

我已经尝试将表格视图单元格链接到IBAction,但它只允许我创建或链接到IBOutlet .

作为临时修复,我在单元格中嵌入了一个矩形按钮,但按下时不会突出显示蓝色 .

我在几个应用程序中看到过这项工作,例如下面的Safari应用程序中的清除历史记录和清除Cookie和数据按钮:

enter image description here

2 回答

  • 1

    想象一下,您的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!
    
  • 10

    这些不是按钮..清除cookie和其他东西的功能在表视图委托方法中处理

    tableview : didselectRow
    

    在那里,您可以找到选择的部分和行,并根据该行执行功能 .

相关问题