iPhone界面生成器:Z-Index,button,图像,UI元素等的Z顺序?

我在界面生成器中拖动东西…我想指定图像是在前面(如指示器)还是在button后面(如背景)。 我没有看到任何z-index属性,因为我习惯在其他环境中看到。 如果没有z-index属性什么是最好的方式去做什么,我试图完成? 谢谢!

我点击一个UI元素(button,图像,文本等),然后进入布局菜单(在屏幕的顶部),然后我使用了“带到前面”,“发送回去”等。

在Xcode 4.2中,您可以在菜单顶部find选项:Editor-> Arrange

有一个Z顺序没有使用子视图。 首先有“发送到前面”和“发回”的菜单选项。 而且,如果您将视图中的元素看作元素树,则可以通过拖动来重新sorting它们(而不是视图本身)。

子视图非常适合分组,但是对于sorting并不有用(除了整个“集合”保持在同一级别)。

在XCode 4.6界面编辑器中,通过菜单(Editor-> Show Document Outline)调出“Document Outline”,或者点击canvas左下angular的半透明button。 在“对象”列表下,显示视图的Z顺序,用户可以拖动它们来相互改变顺序。 越靠近屏幕底部,该元件的“更近”就是用户。

在XCode开发中,当它是该视图的子视图时,UI元素或“view”在另一个视图的前面。 例如,如果视图B是背景,而视图C是控件,则将控件放置在背景之上(即更靠近用户),则可以使视图C成为视图B的子视图。在界面生成器中,这是通过将控件拖到后台。

本质上,您正在查看树结构,并且背景中的视图靠近树的根部,并且靠近树的叶子的前景(靠近用户)的视图。

苹果的iPhone开发者文档中的Windows和Views文档可能有助于解决问题。

注1:您几乎不应该重叠个别控件,如button和文本字段。 这样做违反了苹果的用户界面准则。 当然,如果你愿意的话,你仍然可以这样做,但是你需要知道你正在走出安全区。 如果你只是写一个“正常的”iPhone应用程序,最好的办法就是坚持苹果的做法。

注2:如果出于某种原因,确实需要以某种特定的方式进行重叠,则可以使用CALayer对象来保持所有事情的顺序。 CALayer对象是苹果核心animation技术的一部分。

我知道这是一个古老的问题,但在Xcode 4.6中,我只需将列表中的元素上下拖动即可。 列表中的元素越低,与用户越接近,例如列表中的底部元素将始终可见,除非它不在屏幕上。 我不知道什么时候这个实施,但似乎比其他答案更容易。

在Swift中:

在你想要带到顶端的观点

superview?.bringSubviewToFront(self) 

什么对我来说是在代码中做的:

 self.view.sendSubviewToBack(imageView); 

我不知道为什么,但其他答案都没有解决这个问题。 我把上面的行放在viewDidLoad方法中。