问题描述:

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

iOS-scrollview及其子类适配iOS7的更多相关文章

  1. 如何让你的App适配iOS7?

    随着苹果在2013年9月18日发布iOS7最新的系统以来,iOS各种设备升级到iOS7的数字就已经不断刷新记录.目前据外界统计iOS7设备装机量已经达到2.5亿部,已占iOS设备的64%.由此可见让自 ...

  2. 适配iOS7之—UITableView和UISearchBar

    iOS7中,如果用UITableViewStyleGrouped的话,里面的cell会比原来的拉长了,这样做应该是为了统一和UITableViewStylePlain风格时cell的大小一致,所以改用 ...

  3. iOS 4s-6Plus屏幕自动适配及颜色转换为十六进制

    iOS各种屏幕自动适配及颜色转换为十六进制 ★★★XLJMatchScreen自动适配屏幕★★★ 支持pod导入 pod 'XLJScreenMatching', '~> 1.0.3' 如果发现 ...

  4. iOS WKWebview 网页开发适配指南

    iOS WKWebview 网页开发适配指南 微信iOS客户端将于2017年3月1日前逐步升级为WKWebview内核,需要网页开发者提前做好网站的兼容检查和适配.如有问题,可参考文末联系方式,向我们 ...

  5. iOS 多尺寸屏幕适配

    Point Point可以理解为iOS程序员眼中的大小单位.它是iOS操作系统中的抽象的概念. Rendered Pixels可以理解为UI设计师眼中的大小单位. Physical Pixels 设备 ...

  6. IOS 启动画面和图标设置(适配IOS7 and Xcode5)

    关于IOS程序设置启动画面以及图标的设备目前主要为:IPhone设备 和IPad设备 IPhone启动画面以及图标的设置 目前IPhone的分辨率为:320X480.640X960.640X1136. ...

  7. 通讯录--(适配iOS7/8/9)

    导入库#import <AddressBook/AddressBook.h> #import <AddressBookUI/AddressBookUI.h> #pragma m ...

  8. 《iOS 11 安全区域适配总结》

    本文来自于腾讯Bugly公众号(weixinBugly),作者:sonialiu,未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/W1_0VrchCO50owhJ ...

  9. ios之开发屏幕适配和系统版本适配

    ios软件开发过程中很重要的一点是对系统和屏幕进行适配对系统的适配主要是IOS7以后和之前以及IOS8新增特性,屏幕适配主要是对不同设备采用不同的布局以最佳展示效果展现给用户. 针对系统的适配: IO ...

随机推荐

  1. java常见机试题目(1)

    好久没写博客了,今天重新开始,发现自己学习的知识很糙,就是知道,也能说出来,但是很多知识点不清晰,不深入,所以呢,写个博客总结一些程序,理清概念. 1java中大小写字母转化,在java中存在api ...

  2. Java笔记(二十六)……IO流上 字节流与字符流

    概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...

  3. 五指CMS发布,主打高性能

    近日,五指CMS正式发布.给沉静已久的国内 CMS 行业引来不少的关注.五指CMS由原PHPCMS v9的负责人王参加主导开发.我们可以看到,由于移动互联网以及大数据的崛起,个人站长市场的逐渐减少,国 ...

  4. cloudstack安装篇1-linux命令修改IP信息

    方式一:   ifconfig eth0 192.168.1.18 netmask 255.255.255.0   说明:该种方式可以使改变即时生效,重启后会恢复为原来的IP   方式二:   vi ...

  5. JavaScript删除数组重复元素的5个高效算法

    之前一段时间一直在准备面试, 因而博客太久没更新: 现在基本知识点都复习完毕, 接下来就分享下 面试的一些常见问题: 去正规的互联网公司笔试.面试有很大的概率会碰到 使用javascript实现数组去 ...

  6. jQuery的DOM操作小案例

    案例一:下拉列表左右选择 <body> <div> <select style="width:60px" multiple size="10 ...

  7. Java开发中常见的危险信号(中)

    本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-1 Dustin Ma ...

  8. 更改cmd语言(chcp)

    chcp 437 更改为英文 chcp 936 更改为简体中文 mode con cp select=437 mode con cp /status chcp cmd /c "chcp 43 ...

  9. IC芯片

    5.8寸显示屏/LB058WQ1(SD)01LG2 74HC04 0.3NXP10K    74HC138 0.37NXP20K    74HC245 0.52NXP30K    74HC595 明威 ...

  10. 标准I/O库之临时文件

    ISO C标准I/O库提供了两个函数以帮助创建临时文件. #include <stdio.h> char *tmpnam( char *ptr ); 返回值:指向唯一路径名的指针 FILE ...