您的位置:首页 > 编程语言

一句代码就解决一个开发中常见的小bug....

2015-12-21 21:23 375 查看
UI中如何彻底解决在修改个别button之后,背景图片总是覆盖它本身的子控件的方法?

在ios应用程序的开发过程中,设计UI阶段,我们免不了要反复设置不同控件的属性, 但是这样总是会出现一点小小的bug,那就是,我们最开始设置的背景图片,总是会覆盖住我们在其内部添加的子控件,

而这个时候,我们往往都是返回storyboard里面去调整背景图片的次序,然后再多次的测试和调整,才可以调整回来,

很显然,这种方法非常的浪费时间和精力,那我们有没有一个非常简便的方法来一劳永逸的解决这个问题呢?

我这里自己在开发过程中,总结了一个非常好用的方法,这里就分享给大家:

思路: 1.平时我们开发过程中,点击一个图片button就让图片放大到前端, 这里我们往往会用一个方法,来将这个图片button始终显示在最前端,

如:

把中间图片按钮放置在所有图层的最上面

[self.view bringSubviewToFront:self.minidleIamgeViewButton];

2. 那么我们有没有一个方法,也可以将背景图片始终固定在最下面一层呢?

于是我查看了不少帮助文档,终于让我找到一种方法, 如下:

- (void)viewDidLoad {
[super viewDidLoad];
//程序启动就自动加载相应尺寸的背景图片
UIImage *imageBj = [UIImage imageNamed:@"bj"];
self.blackImageView.image = imageBj;

//将我们设定的背景View始终设置在最下面显示
//注意:这个方法的实现前提是:我们自定义的view作为背景,而且这个view是根视图view的子控件
[self.view sendSubviewToBack:self.blackImageView];

}


//注意:这个方法的实现前提是:我们自定义的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];

}

希望对大家有用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: