zoukankan      html  css  js  c++  java
  • iOS-scrollview及其子类适配iOS7

    问题描述:

          在iOS7之后如果在导航控制器中所属的字控制器中嵌入scrollview及其子类的视图,当scrollview的尺寸太小的话不会调用返回cell的方法。控制器的嵌套层级结构如下图所示,着重说明的一点是我的collectionview(其父类是UIscrollview)是写在UIViewcontroller里面的。而这个ViewController又是navagationController的子类。

          这样一来就符合了产生BUG的条件,当我的collectionview 的高度并不是很高的时候程序运行起来竟然不调用返回collectionView返回cell的方法。

         经过笔者反复测试发现:

    1.当collectionView 的高度适当增大时,再次运行程序,有可能会调用返回cell的方法。

    2.但是调用的次数跟我设置的个数并不一致。

    3.cell的位置也不是之前预设的位置。

         果断百度搜索查询这个错误,在 :http://stackoverflow.com/questions/21069258/automaticallyadjustsscrollviewinsets-not-working

    这篇帖子中我找到了解决方案,产生这个bug的大致原因就是:在iOS7之后,如果一个scrollview及其子类的控件并没有直接归属为navagationController的子控制器时,那么在该scrollview所属的控制器在视图初始化的时候会自动调整该scrollview 的布局,如果该scrollview的尺寸很小的话,可能就会导致不调用返回cell的方法。

    解决方案:在该scrollview(或子类)所属的控制器中的 -(void)Viewdidload方法中加入:self. automaticallyadjustsscrollviewinsets = NO;这段代码(意思就是取消控制器对scrollerview的布局自动调整)。

    bug解决前后对比:

  • 相关阅读:
    关于闭包的一些知识
    浏览器解析JavaScript原理(1)
    函数作用域及函数表达式
    jquery
    前端常用插件
    Git及GitHub
    angular框架
    express
    ES6基础
    Node.js相关总结
  • 原文地址:https://www.cnblogs.com/wahy/p/4929191.html
Copyright © 2011-2022 走看看