使用IBAction选择并按下表格单元格行

时间:2013-04-24 15:05:04

标签: ios xcode uitableview ibaction

我正在拼命地让这个IBAction有效地按下选定行的单元格。我设法让它选择一行,但我无法弄清楚如何有效地点击这个单元格!我只是制作我的第一个应用程序,但我已经设法自己解决了大部分问题,但似乎无法找到如何做到这一点,我希望这是一个简单的解决方案(或者有一个更好的方法比我做的更好。

以下是我的IBAction的代码:

- (IBAction)myButton:(id)sender {

// Specify which cell I wan't to select

NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0];

// Select it

[self.tableView selectRowAtIndexPath:myIP animated:NO scrollPosition:UITableViewScrollPositionTop];  

// Click this cell??

}

提前感谢您提供任何帮助

4 个答案:

答案 0 :(得分:1)

告诉代表你已经选择了它

    [self tableView:self.tableView didSelectRowAtIndexPath:myIP];

假设self是控制该表的VC。

答案 1 :(得分:1)

下面的stackoverflow答案看起来就像你需要的那样......

Automatically cell selected UITableView

答案 2 :(得分:0)

不是一种干净的方式来实现,但根据我的理解,您可以在每个单元格上添加自定义UIButton(透明),使其覆盖cellForRowAtIndexPath:中几乎完整的单元格,禁用行选择。在这些按钮上,您可以使用addTarget:action:

答案 3 :(得分:0)

如果其中包含UITableView的视图控制器不是UITableViewController的子类,则需要创建一个UITableView的IBOutlet,将其称为myTableView或其他任何内容d,然后在你的IBAction中你可以像这样引用它:

- (IBAction)myButton:(id)sender {

    // Specify which cell I wan't to select
    NSIndexPath *myIP = [NSIndexPath indexPathForRow:0 inSection:0];

    // Select it
    [self.myTableView selectRowAtIndexPath:myIP animated:NO scrollPosition:UITableViewScrollPositionTop];  

    // (Per Dmitry's answer)
    [self.myTableView didSelectRowAtIndexPath:myIP];
}