最近出了iOS10,作为iOS开发者,果断更新。 但是更新完后,打开自己的360云盘,发现想向云盘上传东西,但是传不了,加号按钮不见了。
经过我的研究,原因是 下面的自定义tabbar放置加号按钮的方法 不对。
因为当时 放这个按钮 是 通过遍历子控件的方法放上去的,iOS10以前 tabbbar内部是包含2个默认子控件的,所以 放置按钮的时候 是用tabbar子控件的个数 减去2,剩下的就是 tabbarItem的数量,再根据数学公式 算出加号需要摆放的位置就好了。
但是ios10的tabbar 比之前的iOS系统更加优化, 在没有 tabbarItem 存在的情况下默认tabbar的内部存在的子控件 由2个 变成了1个,所以令很多开发者措手不及,凡是 用 遍历子控件减2 方法 放上去的中间的自定义按钮,在iOS10的系统上都不好使了。
遍历时不能单单把 tabbar 的所有子控件都数出来然后减去2, 严谨的做法应该是 遍历出来后把所有的tabbarItem的类的个数加起来,然后再去相应计算自定义按钮的位置。这样即使以后苹果将tabbar 的默认子控件减少为0 或者 增加为3 。程序都不会出问题!
欢迎加本人秘书的qq 820564810 一起讨论问题,不过平时可能比较忙,周末才有空
时间: 2024-10-13 16:25:32