2012-04-07 97 views
35

everyone。如何在其他子视图下插入子视图

我有一些标签,我在xib文件中绘制它们,而 使用代码添加背景视图,但背景视图 位于这些标签的前面,所以我无法看到它们。所以,我的问题是 如何在这些 标签下添加背景视图。

预先感谢您。

回答

58

如果谷歌UIView你会在文档结束 - UIView Class Reference

然后,你需要往下看的方法,直到你找到的列表听起来像它会大致符合你的需求,就像这两个:

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index 

and

- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview 

在这一点上,你只需要阅读方法的行为描述,并挑选最容易实现的设计。如果你尝试自己找到答案你问一个问题

+1

谢谢!我会先谷歌找到答案。你的建议是有帮助的。 – jxdwinter 2012-04-07 03:50:53

+4

一旦你习惯了看文档,你会发现答案是一个更容易得的 - 它只是很难知道从哪里开始与他们 – 2012-04-07 03:52:01

41

您可以使用该方法insertSubview:atIndex:

[self.view insertSubview:backgroundView atIndex:0]; 
+0

谢谢!祝你有美好的一天! – jxdwinter 2012-04-07 03:51:13

3

在IB视图的子视图在视图中下一个层次是之前上市的这对自己的学习非常好。在层次结构中出现在它们的兄弟姐妹之上的子视图将出现在呈现的视图中的下方。所以在下面的例子中,in99:99 AM标签出现在运行时Sign In按钮下方。

如果你的背景只是一个UIImageView,考虑将视您的NIB,然后在运行时设置它的UIImage。这样,你不会感到困惑。另外,what Paul.s said

enter image description here

+1

的OP在谈论添加代码视图中的厦门国际银行之外。 – 2012-04-07 03:48:53

+0

哦,你是对的。好吧。 – QED 2012-04-07 03:49:50

+0

不错的解释:) – 2012-04-07 03:50:52

1

斯威夫特3及更高版本。

view.insertSubview(theViewYouWantToAdd, at: 0) 
3

您可以调用此方法在斯威夫特3

view.insertSubview(yourSubView, at: 0) 

view.sendSubview(toBack: yourSubView)