iOS-present控制器提示警告解决办法
来源:互联网 发布:炒股软件免费版排名 编辑:程序博客网 时间:2024/06/04 19:18
背景
有时候,我们想在根控制器里面present一个新的控制器,或者遇到这么一个需求:程序启动,把主页(UITabbarController)设为根控制器,判断是否免登陆,没有免登陆的情况下弹出登录界面。一般来说,都是在跟控制器present一个登陆界面控制器出来,登陆成功就dismiss掉就好了。这里面,你坑定会掉到坑里面去,因为你可能会遇到:Warning: Attempt to present on whose view is not in the window hierarchy!这种警告。
警告分析:
为什么Xcode
会报这样的错误呢?
因为我们当前的控制器的view
视图还没有创建好,你就去present
一个新的新的控制器。就会报这样的警告错误。
解决办法:
- 把要present的控制器设置为根控制器。
[UIApplication sharedApplication].delegate.window.rootViewController = 新的控制器;
但是,不建议用这种方法。现在又把根控制器改变了,那之前那个控制器怎么办?建议当前控制器,用完就能消失掉最好。类似我说的,present
一个控制器,就要dismiss
掉这个控制器,回到原来的控制器。
还是要看个人怎么设计控制器之间的连接吧。 - 你要
present
一个控制器,必须要在当前控制器的视图加载完成之后才能present
。当然是在viewDidload
之后啦,可以再viewWillApear
,或者viewDidApear
里面作判断什么时候present
。程序启动流程不清楚的,看看这个UIViewController的生命周期。
会报错,多半是在didFinishLaunchingWithOptions
或者在viewDidload
里面就present
了。
阅读全文
1 0
- iOS-present控制器提示警告解决办法
- iOS开发Push和Present混用返回指定控制器
- iOS UIAlertController提示框控制器
- tomcat运行过程中提示警告解决办法
- iOS 控制器多次present后返回根控制器 —— HERO博客
- iOS去除api过期警告提示
- iOS ARC机制中的警告以及解决办法
- iOS相机内存警告的解决办法
- Xcode去掉警告,iOS错误解决办法
- 关闭tomcat时提示memory leak警告解决办法
- Android布局提示TextView可以代替LinearLayout警告的解决办法
- 获取当前视图控制器present的控制器
- present,dismiss到任意控制器
- iOS开发之自定义TabBarController-present(模态)出控制器
- iOS如何present一个不知道类名的控制器时使它强制转屏
- centos etho网卡不可用提示:Device etho does not seem to be present解决办法
- ios 上传app提示miss 64-bit support警告
- iOS Build Fail 但是却没有红色警告提示!
- Linux Man命令
- 表格nth-child设置行列样式
- 大话AOP与Android的爱恨情仇
- 微信随机红包数详解和算法代码
- GCD 使用总结(一)
- iOS-present控制器提示警告解决办法
- pandas.DataFrame.to_excel
- Android判断App前台运行还是后台运行(运行状态)
- linux grep命令详解
- Java程序的执行过程
- 一步一步写算法(之hash表)
- 常用注解
- get和post的区别
- 文章标题