我有一个问题与UITableView的didSelectRowAtIndexPath。
我的表已经设置好了,所以当我选择row时,它会初始化一个新的视图控制器并推送它。
当我第一次点击表中的任何一行时,该方法不会被调用。一旦我选择了另一行,它就开始正常工作。
我已经通过在didSelectRowAtIndexPath上设置断点验证了这一点。当添加一个NSLog的方法,我看到,当我选择第二行,最后推动新的视图控制器,我看到两个日志语句出现在控制台同时。
有什么建议吗?
我有一个问题与UITableView的didSelectRowAtIndexPath。
我的表已经设置好了,所以当我选择row时,它会初始化一个新的视图控制器并推送它。
当我第一次点击表中的任何一行时,该方法不会被调用。一旦我选择了另一行,它就开始正常工作。
我已经通过在didSelectRowAtIndexPath上设置断点验证了这一点。当添加一个NSLog的方法,我看到,当我选择第二行,最后推动新的视图控制器,我看到两个日志语句出现在控制台同时。
有什么建议吗?
当前回答
也检查xib文件中表视图的选择属性。按需要使用“单选”或“多选”。
其他回答
斯威夫特4.2
在属性检查器中禁用“延迟触摸”解决了这个问题。 之后,点击是流畅的和didSelectRowAt立即启动。
didSelectRowAt函数没有被调用在我的应用程序在第一次或第二次点击… 我试图解决这个问题却找不到任何解决方法。但突然间我意识到,我用的是视图。动画颜色变化…动画持续时未调用委托方法
斯威夫特2
确保你把这个设置为true:
self.tableView.allowsSelection = true
把它放在右边的viewDidLoad()之后,super.viewDidLoad()之前
对我来说有用的是开始输入“didSelect…”,然后让自动更正填充剩下的部分。显然我的一些语法细节是不可靠的。正如其他人所说,使用IDE!!
UITableViewCellSelectionStyleNone被设置为显示该问题的单元格 (ios9)。
我最后还是打了个电话
[tableView deselectRowAtIndexPath:indexPath animated:NO];
首先
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
这是不一样的,但已经足够好了。 这让我很好奇ios10会带来怎样的表格破坏。