安排与外部UIViews相关的UIView子视图

时间:2010-03-10 01:49:42

标签: iphone objective-c uiview

如何(在深度方面)安排视图的子视图位于另一个视图的前面?

层次结构如下所示:

A--
   -C
   -D
B--
   -E
   -F

(A和B分别是C& D和E& F的视图,作为子视图。)

B在A之上分层,因此B(E和F)中的每个子视图都高于A(C和D)中的每个子视图。如何将C显示在B中的所有内容之上,但其余部分是否保持不变?

换句话说,我怎样才能显示所显示视图的顺序(列表中的第一个是最顶层的,下一个是后面的

C
B
E & F (same level)
A
D

谢谢, 阿尔谢尼

5 个答案:

答案 0 :(得分:2)

你无法按照描述的方式去做。视图A或B是最前面的,如果你想在视图B前面显示视图C,但想要将A和D保持在它后面,你需要将C从视图A中取出并显示在与A和放大器相同的级别;乙

答案 1 :(得分:1)

您是否尝试过使用UIView方法移动/重定位视图?

insertSubview:aboveSubview:
insertSubview:atIndex:
insertSubview:belowSubview:
addSubViews:
bringSubviewToFront:
removeFromSuperview:

答案 2 :(得分:0)

如果您希望C显示在B中的所有内容之上,请将其设为B的子视图。

答案 3 :(得分:0)

为什么不将C作为A和B的父视图。这应该做你想要的。

C
  -B
    -E
    -F
  -A
    -D

使用Managing the view hierarchy中的功能重新排列视图层次结构。

答案 4 :(得分:0)

A和B UIViewControllers?和C,D,E,F UIViews添加到这些控制器?你不是很清楚。

如果它们都是UIViewController的子视图,那么请看我之前的帖子。