Ios 使用iAction选择并按表格单元格行

Ios 使用iAction选择并按表格单元格行,ios,xcode,uitableview,ibaction,Ios,Xcode,Uitableview,Ibaction,我拼命想让这个IBAction在选定的行中有效地按下一个单元格。我已经设法让它选择了一行,但我不知道如何有效地点击这个单元格!我只是在制作我的第一个应用程序,但我已经设法自己解决了大部分问题,但似乎无法找到如何做到这一点,我希望这是一个简单的解决方案(或者有比我更好的方法) 下面是我的IBAction的代码: - (IBAction)myButton:(id)sender { // Specify which cell I wan't to select NSIndexPath *myIP

我拼命想让这个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??

}

提前感谢您的帮助

只要告诉学员您已经选择了它

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

假设
self
是控制表格的VC。

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

下面的stackoverflow答案看起来正是您所需要的


如果您的视图控制器中包含
UITableView
而不是子类化
UITableViewController
,则需要创建
UITableView
的IBOutlet,称之为
myTableView
或任何您喜欢的内容,然后在
iAction
中,您可以这样引用它:

- (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];
}

这给了我以下错误:UITableView没有可见的@interface声明选择器DIDSELECTROWATINDEXPATH您的视图控制器是从UITableViewController子类化的吗?如果没有,则需要确保tableView属性设置了其datasource和delegate属性。还要确保实现了DidSelectRowatineXpath方法。我的视图控制器是从UIViewController(而不是UITableViewController)子类化的。我很确定数据源和委托属性设置正确,如何确保实现了DidSelectRowatineXpath方法?您需要将委托和数据源作为协议添加到UIViewController中…标题的顶行应该有此项…@interface MainViewController:UIViewController MainViewController是保存tableview的viewcontroller的名称。然后在下面创建方法,-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath。我在标题行中有委托+数据源,我也尝试添加该方法,但它似乎没有改变任何东西。我还尝试使用Dmitry的新代码行,这并不表示有任何错误,但当我按下iAction的按钮时崩溃了(