0
我有一个初学者的问题。以编程方式添加子视图与将它们添加到InterfaceBuilder中
我想知道子视图的级别以及如何确定它们。请考虑把一个按钮,在IB(sampleButton),然后编程方式创建一个子视图,就像这样:
[view insertSubview:aView atIndex:[view.subviews count]];
这简直是等同于:现在
[view addSubview:aView];
,在这两种情况下,我的指数(其被称为z,对吗?)应该是1,如果我没有弄错的话。
我有一个按钮添加到我的视图在IB应该在索引0(z = 0,或者他们从一开始?)。然后,如果我做了一个view.subviews计数,这会给我数字1,因为我在索引0有一个对象。所以我的新子视图'aView'将被放置在索引= 1,这是我的sampleButton上面的一层。
到目前为止这么好。但是如果我不想要这样的事情呢?如果我想成为更高级别的sampleButton(例如1)而我的'aView'最低(例如0)?我可以简单地这样做:
[view insertSubview:aView atIndex:0];
请问这仅仅参加IB创建照顾我的按钮,它推到另一层或者我会告诉IB是sampleButton不应该是在z = 0?
替代'[view bringSubviewToFront:aView]' 将做同样的事 – Seega 2011-03-31 09:34:46
我会说seega的替代方案实际上是正确且唯一正确的解决方案,因为OP提到这些视图已经被添加为IB中的子视图。 – Till 2011-03-31 09:37:09
@Seega:谢谢,我想这正是我真正想要的。 – 2011-03-31 10:23:35