【发布时间】:2015-12-01 21:19:53
【问题描述】:
我有一个带有 UITableView 的视图控制器。我将数据源和委托都设置为视图控制器。方法 cellForRowAtIndexPath: 正在被调用并且行为符合预期但是 didSelectRowAtIndexPath: 没有被调用。有什么想法吗?
我的 .h 中有这个:
@interface DetailViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
在 .m 中的 viewDidLoad 中,我有:
self.tableView.dataSource=self;
self.tableView.delegate=self;
cellForRowAtIndexPath 将被调用但没有 didSelectRowAtIndexPath 似乎没有意义。这是该方法现在的样子:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"did select row at index path");
}
【问题讨论】:
-
我假设 tableview 是一个出口。您是否将委托连接到情节提要中的视图控制器?
-
是tableView.allowsSelection =YES;?
-
发布
cellForRowAtIndexPath:的代码并确保userInteractionEnabled = YES和allowsSelection = YES -
刚刚将这两个添加到 viewDidLoad。还是不行。
-
您是否将
UIGestureRecognizer添加到您的视图中?如果您不处理它,它可能会与您的表格视图的触摸发生冲突。
标签: ios objective-c uitableview delegates