UI中如何彻底解决在修改个别button之后,背景图片总是覆盖它本身的子控件的方法?
在ios应用程序的开发过程中,设计UI阶段,我们免不了要反复设置不同控件的属性, 但是这样总是会出现一点小小的bug,那就是,我们最开始设置的背景图片,总是会覆盖住我们在其内部添加的子控件,
而这个时候,我们往往都是返回storyboard里面去调整背景图片的次序,然后再多次的测试和调整,才可以调整回来,
很显然,这种方法非常的浪费时间和精力,那我们有没有一个非常简便的方法来一劳永逸的解决这个问题呢?
我这里自己在开发过程中,总结了一个非常好用的方法,这里就分享给大家:
思路: 1.平时我们开发过程中,点击一个图片button就让图片放大到前端, 这里我们往往会用一个方法,来将这个图片button始终显示在最前端,
如:
把中间图片按钮放置在所有图层的最上面
[self.view bringSubviewToFront:self.minidleIamgeViewButton];
2. 那么我们有没有一个方法,也可以将背景图片始终固定在最下面一层呢?
于是我查看了不少帮助文档,终于让我找到一种方法, 如下:
1 - (void)viewDidLoad { 2 [super viewDidLoad]; 3 //程序启动就自动加载相应尺寸的背景图片 4 UIImage *imageBj = [UIImage imageNamed:@"bj"]; 5 self.blackImageView.image = imageBj; 6 7 //将我们设定的背景View始终设置在最下面显示 8 //注意:这个方法的实现前提是:我们自定义的view作为背景,而且这个view是根视图view的子控件 9 [self.view sendSubviewToBack:self.blackImageView]; 10 11 }
//注意:这个方法的实现前提是:我们自定义的view作为背景,而且这个view是根视图view的子控件
我们这里调用的是view的一个属性方法 sendSubviewToBack: ,让它在程序一启动的时候,就调用这个方法,
通过这个方法,我们就可以从一开始,就用一行代码来解决这个小bug,从此可以为我们后期的开发调试节省大量的时间和精力,
一行代码就解决一个开发bug,确实非常实用,而且这个方法在开发任何的程序中,都可以优先写入!
- (void)viewDidLoad {
[super viewDidLoad];
//程序启动就自动加载相应尺寸的背景图片
UIImage *imageBj = [UIImage imageNamed:@"bj"];
self.blackImageView.image = imageBj;
//将我们设定的背景View始终设置在最下面显示
//注意:这个方法的实现前提是:我们自定义的view作为背景,而且这个view是根视图view的子控件
[self.view sendSubviewToBack:self.blackImageView];
}
希望对大家有用