美文网首页
子控制器被基类控件覆盖

子控制器被基类控件覆盖

作者: Freedom_fly | 来源:发表于2016-05-22 18:15 被阅读30次

基类上添加的控件延后显示问题

今天下午写东西的时候遇到一个很奇葩的问题:
为了实现一键换肤功能(为了简单化,其实就是换一下每个控制器的背景图片)
我创建了一个基类控制器BaseViewController,在BaseViewController上添加一个UIImageView(对,它就是背景图片)
然后以后创建的每个子控制器都是继承于这个基类的,而且部分的子控制器是用过storyboard搭建的,这时候问题就出现了!!!

问题就是:
模拟器跑起来之后,整个界面显示出来的效果就是一张图片,一张傻了吧唧的图片!!!
通过storyboard搭建的子控制器的视图控件都跑哪儿去了?我一看层次关系发现:是先加载了storyboard上的视图控件,最后又加载了基类的UIImageView,我们看到的效果就是子类被覆盖,只剩下一张图片。

解决方法:
在子控制器的- (void)viewWillAppear:(BOOL)animated方法中添加:

[self.view sendSubviewToBack:self.baseImageView];

将视图推到后面。
详细讲解UIView的博客地址:
http://www.cnblogs.com/dyllove98/p/3144945.html

相关文章

网友评论

      本文标题:子控制器被基类控件覆盖

      本文链接:https://www.haomeiwen.com/subject/kloorttx.html