cmi*_*mii 3 scroll statusbar uitableview ios swift
我有很多视图,每个视图都有很多子视图。我试图为每个子视图指定
scrollsToTop = false
Run Code Online (Sandbox Code Playgroud)
但是TableView当我按下状态栏时,我没有滚动到顶部。我想我错过了一些观点......
我知道有一个类似的帖子,但它没有回答(点击屏幕顶部的状态栏时 UITableView 滚动到顶部)
所以我决定实现这个功能:
override func viewDidLoad() {
super.viewDidLoad()
checkForScrollViewInView(self.view)
self.tableView.delegate = self
self.tableView.dataSource = self
self.tableView.scrollsToTop = true
}
func checkForScrollViewInView(view:UIView) {
for subview in view.subviews as [UIView] {
if subview.isKindOfClass(UITextView) {
(subview as! UITextView).scrollsToTop = false
}
if subview.isKindOfClass(UIScrollView) {
(subview as! UIScrollView).scrollsToTop = false
}
if subview.isKindOfClass(UITableView) {
(subview as! UITableView).scrollsToTop = false
}
if (subview.subviews.count > 0) {
self.checkForScrollViewInView(subview)
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它也不起作用。我不知道我想念什么。
您可能会遇到两个问题:
UIScrollView. 您应该禁用scrollsToTop(例如self.collectionView?.scrollsToTop = falsein viewDidLoad)父级UIScrollView或从它继承的对象(如UITableView或UICollectionView)。 来自苹果 scrollViewShouldScrollToTop(_:)
如果委托未实现此方法,则假定为 true。要使滚动到顶部手势(状态栏上的点击)有效,UIScrollView 的 scrollsToTop 属性必须设置为 YES。
scrollViewShouldScrollToTop则不会调用方法。你应该检查为什么会发生。否则你将不得不做一些肮脏的工作:添加一些手势并处理它们。有趣的链接:
为什么 UIScrollView/UITableview 不响应状态栏上的点击,并滚动到顶部?
好的,我找到了为什么我的 tableview 不会滚动的原因!
我只在表视图的视图控制器的 viewDidLoad 中调用了 checkForScrollViewInView() 函数。为了禁用每个子视图的 scrollToTop。
但我忘记了我有另一个“活动”视图控制器......在我的应用程序中,我有一个左侧菜单可以打开以进行滑动。在左侧菜单的视图控制器中调用 checkForScrollViewInView() 解决了我的问题。
func checkForScrollViewInView(view:UIView) {
for subview in view.subviews as [UIView] {
if subview.isKindOfClass(UITextView) {
(subview as! UITextView).scrollsToTop = false
}
if subview.isKindOfClass(UIScrollView) {
(subview as! UIScrollView).scrollsToTop = false
}
if subview.isKindOfClass(UITableView) {
(subview as! UITableView).scrollsToTop = false
}
if (subview.subviews.count > 0) {
self.checkForScrollViewInView(subview)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4346 次 |
| 最近记录: |