带有 UIControl/UIButton 子视图的 ScrollView/TableView 在 iOS 8 下不可滚动
Posted
技术标签:
【中文标题】带有 UIControl/UIButton 子视图的 ScrollView/TableView 在 iOS 8 下不可滚动【英文标题】:ScrollView/TableView with UIControl/UIButton subviews not scrollable under iOS 8 【发布时间】:2014-09-24 04:28:35 【问题描述】:我有一个 UIScrollView 实例 (scrollview
),以及许多 UIControl 实例作为子视图放置在滚动视图上。在 ios 8 之前一切正常,但 scrollview
现在在 iOS 8 下无法滚动。
似乎 UIControl 实例吃掉了触摸事件,而 scrollview
的 delaysContentTouches
在 iOS 8 下被破坏了。
刚发现UITableView也有这个问题。
【问题讨论】:
【参考方案1】:搜索了一段时间,解决了这个问题
scrollview.panGestureRecognizer.delaysTouchesBegan = YES;
还有另一种解决方法(但我没有幸运地尝试过,导致 UIControl 实例不起作用,如果您对此有任何想法,请告诉我,谢谢):
if (floor((NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1))
UITapGestureRecognizer * nothingTap = [[UITapGestureRecognizer alloc] init];
[nothingTap setDelaysTouchesBegan:YES];
[scrollView addGestureRecognizer:nothingTap];
【讨论】:
以上是关于带有 UIControl/UIButton 子视图的 ScrollView/TableView 在 iOS 8 下不可滚动的主要内容,如果未能解决你的问题,请参考以下文章