浅谈UIScrollView中嵌套UITableView出现"出轨"的问题

问题及原因:
首先要介绍的是什么的"出轨"(个人理解),这里的出轨指的是UITableView继承的是UIScrollView,所以在UIScrollView中嵌套UITableView,当UITableView滚动或者做其他操作的时候, UITableView会调用UIScrollView对应的代理方法,原因是子类调用父类的方法.从而造成了我们不想要的结果.
解决方法:
可以在UIScrollView的代理方法中做判断,看看调用者是不是UIScrollView的对象,如果是那么久就执行代码,不是就不执行.
以下是swift版本的代码:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    //进行判断
    if scrollView.isMember(of: UIScrollView.self){
          //需要执行的代码
    }
}



func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
      //进行判断  
    if scrollView.isMember(of: UIScrollView.self){
          //需要执行的代码
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自:https://github.com/Tim9Liu9/TimLiu-iOS 目录 UI下拉刷新模糊效果A...
    袁俊亮技术博客阅读 11,975评论 9 105
  • 雪花体/早安心语 打开一扇晓曦心窗, 呼吸一口新鲜营养。 拥...
    文字砌匠阅读 550评论 3 18
  • 远方诗声 文/潇潇雨 五月的雨轻抚着四月的风, 莲花初开 寻不见蝶的踪影 我醉里红尘中,泪眼朦胧。 一壶浊酒灌入肠...
    远方诗声阅读 295评论 0 0
  • 立在 那扇铸花大门前 门后 有金黄和碧绿混杂的草坪 人家窗户里的暖融融的灯光 还有 那天傍晚的火烧云和 少年逆光的...
    林泉林泉阅读 218评论 0 4