• 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解决前后对比:

  • 相关阅读:
    dom4j解析xml字符串实例
    使用Dom4j生成xml文件(utf-8编码)
    viewer.js插件简单使用说明
    html标签title属性效果优化
    XML文件读写编码不是UTF-8的问题
    webservice wsdl文件标签讲解
    定销房概念扫盲
    Sql Server系列:视图
    Centos7安装mysql5.6
    java实现链式队列
  • 原文地址:https://www.cnblogs.com/wahy/p/4929191.html
Copyright © 2020-2023  润新知