当我尝试向后面发送视图时,它会隐藏视图控制器中的一些按钮和标签。我发送到后面的视图是UIImageView。有没有人对可能出现的问题有所了解?
以下是我正在使用的代码:
UIImage *image = [UIImage imageNamed: @"background.jpg"];
UIImageView *backImage = [[UIImageView alloc] initWithImage: image];
[self.view addSubview: backImage];
[self.view sendSubviewToBack: backImage];
然后,当我向self.view添加控件时,它们并不总是显示
我设法通过将我的代码从init移动到loadView来实现它。我不明白为什么那应该有所作为,但是嘿..它有效!
答案 0 :(得分:17)
如果您使用UIView
的{{1}}或类似消息,则可能会在sendSubviewToBack:
下的层次结构中插入按钮。当视图在层次结构中移动时,其所有子视图都随之移动。
要解决此问题,您需要将控件添加为最初添加UIImageView
的同一视图的子视图(可能是UIWindow
)。
如果没有看到你的代码,就很难更精确。
答案 1 :(得分:1)
通过不必以编程方式添加它并调整视图,更容易在界面构建器中对每个视图进行分层。确保图像视图,如果将其设置为背景,请确保它是第一个列出的。
答案 2 :(得分:0)
同意。不太确定你的意思是“发送到后面”,但这是一个猜测...
如果您要调整主视图中的分层,请确保您没有发送具有多个子视图的“向后”视图(更改它的图层)......否则它们都会转到后面(他们的分层会同时改变。
如果这完全不是你的意思,请告诉我,我会删除这个答案。