在iOS 11(Xcode 9.0,Swift 4)的gestureRecognizers
(UIPanGestureRecognizer
)之上使用UITapGestureRecognizer
(UITableView
和ViewController
) ),即使点击或平移到左/右(没有scrollViewDidScroll
实际滚动)和tableView
跳跃(在iPhone X上按-140和-116),函数contentOffset
也会自动执行在iPhone 8上短时间内,它恢复正常。 contentOffset
跳转在UI中不可见,但可在控制台中打印。 (并启动一个我与某个偏移相关联的动画)。禁用gestureRecognizers
可以解决问题,但我需要其他手势而不是上下滚动(例如点按,向左/向右平移,等等)
旧版固件(iOS 10.3.1上测试)不会出现此问题。 scrollViewDidScroll
函数也不会执行,contentOffset
也不会更改。
我非常感谢任何提示。
答案 0 :(得分:0)
我发现禁用选项Adjust Scroll View Insets
(在IB或代码中),即使在某些类似帖子上标记为正确答案,也只是等式的一部分。
UITableView
上没有正确设置某些约束,导致错误。
正确地获取所有约束(或完全删除它们)并禁用上述选项为我修复了它。