iOS11设置4个tabBar,但是出现5个.

作者:超级管理员 更新时间:2017-09-25 17:58:45 来源:未知 点击:15642
iOS11之前, 也就是iOS10 ,只会偶尔出现,重新运行APP就好了.但是升级成iOS11之后.直接出现了5个,第5个是空白,点击崩溃提示数组越界. 启动APP打断点, tabBar的viewCo
iOS11之前, 也就是iOS10 ,只会偶尔出现,重新运行APP就好了.但是升级成iOS11之后.直接出现了5个,第5个是空白,点击崩溃提示数组越界. 启动APP打断点, tabBar的viewControllers是4个, subViews是4个,items是4个. 但是莫名其妙出现了5个.     4个都是Nav控制器,使用数组添加的.图片是其中一个.
-------------------------------
{
        VPMyVC *controller = [VPMyVC new];
        VPNavController *nav = [[VPNavController alloc] initWithRootViewController:controller];
        UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"我的" image:[UIImage imageNamed:@"my_n"] selectedImage:[UIImage imageNamed:@"my_s"]];
        [nav setTabBarItem:item];
        [controllers addObject:nav];
    }
    self.viewControllers = controllers;
-------------------------------
这么妖孽的问题  从来没遇到过, 
-------------------------------
这种问题一般还是楼主自己哪里代码有误导致的,慢慢排查吧!
我记得items里面是从0开始算第一个 第四个也就是数字3
-------------------------------
引用 3 楼 a1379388505 的回复:
这种问题一般还是楼主自己哪里代码有误导致的,慢慢排查吧!
我记得items里面是从0开始算第一个 第四个也就是数字3

我打断点,在加载完成之前, count一直是4个.  出来之后就变成5个了.  但是在iOS10之前是没这问题的.  
-------------------------------
检查一下你多出来的那个item对应的vc是在哪创建的,然后打断点或者写log,看看是不是执行了两次
-------------------------------
引用 5 楼 disburden 的回复:
检查一下你多出来的那个item对应的vc是在哪创建的,然后打断点或者写log,看看是不是执行了两次

没有对应VC.  是个空白的Item.点击会导致崩溃,崩溃原因就是数组越界.
-------------------------------
系统自带的tabbarcontroller基本不会出现这种情况,你可以建个空的工程试试
应该就是你代码的问题,先把没用的代码全部注释掉,等tabbar正常了再一点点添加回去就会知道问题在哪了
-------------------------------
引用 7 楼 disburden 的回复:
系统自带的tabbarcontroller基本不会出现这种情况,你可以建个空的工程试试
应该就是你代码的问题,先把没用的代码全部注释掉,等tabbar正常了再一点点添加回去就会知道问题在哪了

自定义的TabBarController. 把除了添加四个控制器之外的代码全部注释掉,还是会有5个出现
-------------------------------
不要强引用根视图tabBarController就好了
-------------------------------
引用 9 楼 wsw845234177 的回复:
不要强引用根视图tabBarController就好了

如何操作?  创建属性的时候改为Weak?
-------------------------------
引用 10 楼 bitch123124234 的回复:
Quote: 引用 9 楼 wsw845234177 的回复:

不要强引用根视图tabBarController就好了

如何操作?  创建属性的时候改为Weak?

改为weak也是显示5个.  别人重新自定义就好了.我这还是不行.

推荐阅读

热门内容

创意我的无限智能应用 DragonBoa

本帖最后由cloud881001于201...

Xcode build成功但Archiv

最近有个项目,需要把之前原有的工程改个名...

为了追妹子,做了个demo

本帖最后由reitachen于2015-...

用 Swift 写了一个花式二维码生成库

EFQRCode 是一个用 Swift ...

引用其他人写的方法出现问题,大家帮忙看看

错误如下图上面是别人写的加载天地图的方法...

Xcode8出现了Expected id

 新手小白一枚 求大神相助-------...

mint-ui loadmore在ios

用的原生壳子+h5页面开发ios应用,m...

社区福利----人邮异步CSDN赠书第二

今第二期新书赠送活动来啦,如果你热爱读书...

iOS集成支付宝 支付时调用OPENSS

读取私钥阶段失败。集成的是新版支付宝SD...

关于oc中的指针数组什么的在swift下

in objective-c: for ...

最新内容

在项目中遇到这种下标越界的问题怎么改!

在项目中遇到这种下标越界的问题怎么改!浏览器报错如下:java.lang.Ind...

在项目中遇到这种下标越界的问题怎么改!

在项目中遇到这种下标越界的问题怎么改!浏览器报错如下:java.lang.Ind...

不懂java,求大神帮忙运行一行代码

byte[] arrByte = "_abcdefg.com_".getByte...

Ja新手求解,复数运算的程序错误原因未知

代码如下:class Complex{// a为实部,b为虚部private d...

发现ios11关了所有后台刷新,就留个微信,然后耗电正常了

之前后台狂耗电,尤其淘宝!!这方法后就好了你们试试,效果可以回馈一下!自顶...

求问一个关于eclipse工具的一个问题

我今天重装了系统,也把eclipse重新下载了一下,之前写的一些代码文件都没有删...

微信更新后,iOS11锁屏后不能马上唤醒,解锁有很长的延迟 问题貌似得到了解决

rt大伙试试,然后反馈下...

springmvc Request method 'GET' not supported

@RequestMapping("/aa")@Controllerpublic ...

最近想趁10系统还没着关闭验证升至10.3.3

一直在用9.1的系统,非常的流畅,省电。各位你们说要不要升到10.3.3,如果不...

iPhone恢复系统错误3503【解决办法】

很多朋友都知道,iPhone的固件发布后会在接下来的一个月内关闭验证,也就无法再...

eclipse首次打开报错“An error has..See the log file”

去路径查看log文件,内容是!ENTRY org.eclipse.e4.ui.w...

querydsl的批量插入对于1000条以上的数据用那种效率比较快呢?

SQLInsertClause insert = queryFactory.in...

CPU降频了

手机国行,今年4月买的,台积电U,系统10.3.1系统,昨天特意测试一下,发现电...

7P DFU升级iOS 11一直3503

上个星期把老婆的小7用DFU升级了很好用,今天自己的7p死活升级报错,OTA容易...

请问现在还有学习JSTL和struts的必要吗?

本帖最后由lxyscls于2017-09-2118:07:04编辑RT?Spri...

恢复系统未知错误3503

刚刚从11降级10.3,恢复系统提示iPhone恢复系统未知错误3503,哪位大...

用jxls导出Excel时 如何设置复选框的勾选

用jxls导出Excel时 如何设置复选框的勾选我试过用Excel的单元格链接来...

Java 用jxls导出Excel时 如何设置复选框的勾选

用jxls导出Excel时 如何设置复选框的勾选我试过用Excel的单元格链接来...

某项目在开发时正常,在Linux部署时报错:Could not open connection at

org.springframework.transaction.CannotCr...

打算把6s壳换成8的玻璃壳

7c39bc43975e6c85fc98651955d06ff2.jpg(173...