Ios 使用iAction选择并按表格单元格行
我拼命想让这个IBAction在选定的行中有效地按下一个单元格。我已经设法让它选择了一行,但我不知道如何有效地点击这个单元格!我只是在制作我的第一个应用程序,但我已经设法自己解决了大部分问题,但似乎无法找到如何做到这一点,我希望这是一个简单的解决方案(或者有比我更好的方法) 下面是我的IBAction的代码: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)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的按钮时崩溃了(