Ios UITableView didSelectRowAtIndexPath只能识别两个手指的轻触
当选择了Ios UITableView didSelectRowAtIndexPath只能识别两个手指的轻触,ios,iphone,swift,uitableview,Ios,Iphone,Swift,Uitableview,当选择了UITableViewCell时,我试图显示一个UIAlertController。我已经检查了所有与故事板相关的问题,例如Selection:singleselection,甚至在viewDidLoad()顶部设置了tableView.allowselection=true。我还检查了使用didSelect而不是didSelect的问题 奇怪的是,当我同时用两个手指轻触它或者长时间按下它(大约2秒,然后松开)时,电池才会选择。这是一个已知的问题吗 func tableView(tabl
UITableViewCell
时,我试图显示一个UIAlertController
。我已经检查了所有与故事板相关的问题,例如Selection:singleselection
,甚至在viewDidLoad()顶部设置了tableView.allowselection=true
。我还检查了使用didSelect
而不是didSelect
的问题
奇怪的是,当我同时用两个手指轻触它或者长时间按下它(大约2秒,然后松开)时,电池才会选择。这是一个已知的问题吗
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("Tap registered")
}
如能给予任何帮助,我们将不胜感激 我也有类似的问题,但看到其他帖子指出,连接到父视图的UI手势识别器是问题所在。我就是这么做的。手势识别器用于关闭键盘。因此,在UITableView中使用UIGestureRecognitor时,请务必小心。因为这个问题已经存在很长时间了,所以我将把我的解决方案留给其他面临这个问题的人,因为我使用了这种方法,而且效果很好。
这是我的密码:
用于tableViewCell
首先,声明一个变量,我们检查null以避免表崩溃
var tapOnCell: (() -> Void)?
然后在awakeFromNib块内,我们为点击动作创建一个UITapGestureRecognitor,该手势将要求我们在单元格上点击1次
let gesture = UITapGestureRecognizer(target: self, action: #selector(tapOnContenView))
gesture.numberOfTapsRequired = 1
contentView.addGestureRecognizer(gesture)
然后创建一个如下所示的函数
@objc func tapOnContenView() {
if let tapOnCell = self.tapOnCell {
tapOnCell()
}
}
现在我们在tableViewCell上结束,现在是tableView的时间了
对于tableView(UITableViewDataSource)
调用我们在tableViewCell上创建的函数,并在此处使用它
cell.tapOnCell = {
self.tapOnSingleCell(indexPath: indexPath)
}
但首先,我们需要为单击单元格时要执行的操作创建函数,对我来说,我希望在单击单元格时转到另一个viewController
func tapOnSingleCell(indexPath: IndexPath) {
let jobDetail: JobDetailViewController =
JobDetailViewController.newInstance(storyboardName: .jobSearch)
let job = self.relatedList[indexPath.row]
}
我希望这个解决方案既能帮助你,也能帮助我,加油。你只需使用:
tap.cancelsTouchesInView = NO;
代码:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:self
action:@selector(yourFunctionOnTap)];
tap.cancelsTouchesInView = NO;
[self.view addGestureRecognizer:tap];
你还有什么相关代码可以给我们看吗?您实现了任何点击手势?您使用了任何手势识别器吗?这个特定的视图控制器没有实现任何手势识别器。我也遇到了这种情况。很奇怪,这个问题有更新吗?