我正在拼命地让这个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??
}
提前感谢您提供任何帮助
答案 0 :(得分:1)
告诉代表你已经选择了它
[self tableView:self.tableView didSelectRowAtIndexPath:myIP];
假设self
是控制该表的VC。
答案 1 :(得分:1)
下面的stackoverflow答案看起来就像你需要的那样......
答案 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];
}