UIScrollView Delegate Re-Routing - 检查 UIScrollView 的状态
Posted
技术标签:
【中文标题】UIScrollView Delegate Re-Routing - 检查 UIScrollView 的状态【英文标题】:UIScrollView Delegate Re-Routing - To check the state of UIScrollView 【发布时间】:2018-03-12 11:38:33 【问题描述】:我在同一个视图(兄弟姐妹)上有一个 tableView 和按钮,
tableView 滚动时需要隐藏按钮(上下方向没问题),停止滚动时显示按钮
我尝试了以下代码,但它不起作用(正确)
func scrollViewDidScroll(_ scrollView: UIScrollView)
self.vcView.hideButton()
func scrollViewDidEndScrollingAnimation(_ scrollView: UIScrollView)
self.vcView.showButton();
经过大量搜索,我找到了这个article,但它是在 Objective C 中,谁能帮我把它转换成 Swift 3。
【问题讨论】:
【参考方案1】:为什么不简单地实现这两个委托方法:
func scrollViewWillBeginDragging(_ scrollView: UIScrollView)
self.vcView.hideButton()
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView)
self.vcView.showButton();
如果您只想在滚动时显示和隐藏按钮或任何视图,这将起作用。请务必设置滚动视图委托,它应该可以正常工作。 无需将该 objc 代码转换为 swift。
https://screencast.com/t/eTq9Nzfsgs6E
【讨论】:
可以,不过我修改了,更新代码,谢谢以上是关于UIScrollView Delegate Re-Routing - 检查 UIScrollView 的状态的主要内容,如果未能解决你的问题,请参考以下文章
UIViewController中有两个scrollView时如何调用UIScrollView的delegate方法
Swift UIScrollView 不滚动但响应 setContentOffset 和 Delegate 响应
ScrollView中使用Delegate 滚动 UIKit的UIScrollView转化为在SwiftUI中使用
ScrollView中使用Delegate 滚动 UIKit的UIScrollView转化为在SwiftUI中使用
我能以某种方式从 UIPageViewController 获取 scrollViewDidScroll: UIScrollView Delegate 方法吗?