我正在界面生成器中拖动...我想指定图像是在前面(如指示符)还是在按钮后面(如背景)。我没有看到任何z-index属性,因为我习惯在其他环境中看到它。如果没有 一个z-index属性什么是我想要完成的最好的方法?谢谢!
答案 0 :(得分:85)
我通过点击ui元素(按钮,图像,文本等)并转到布局菜单(屏幕顶部)实现我想要的效果然后我使用“带到前面”,“发送到后面” “等等。
在Xcode 4.2中,您可以在菜单顶部找到选项:编辑器 - >排列
答案 1 :(得分:24)
没有使用子视图就有Z顺序。一方面,有“发送到前面”和“发送到后面”的菜单选项。但是,如果您将视图中的元素视为元素树,则可以通过拖动在那里重新排序(而不是在视图中)。
子视图非常适合分组,但不能用于排序(除了整个“集合”保持在同一级别)。
答案 2 :(得分:13)
在XCode开发中,当UI元素或视图是该视图的子视图时,它位于另一个视图的前面。例如,如果视图B是背景而视图C是控件,则将控件置于背景之上(即更接近用户),您将使视图C成为视图B的子视图。在Interface Builder中,这是通过以下方式完成的:将控件拖入后台。
基本上,您正在查看树结构,背景中的视图靠近树的根,并且前景(靠近用户)的视图靠近树的叶子。
Apple的iPhone开发人员文档中的Windows and Views文档可能有助于澄清问题。
注1:您几乎不应重叠单个控件,例如按钮和文本字段。这样做违反了Apple的用户界面指南。当然,可以,如果你愿意,仍然可以这样做,但你需要知道你正走出安全区。如果你只是在编写一个“普通”的iPhone应用程序,最好的办法是坚持使用Apple的做事方式。
注2:如果出于某种原因,您确实需要以特定方式重叠事物,则可以使用CALayer个对象来保持所有正确排序的内容。 CALayer对象是Apple核心动画技术的一部分。
答案 3 :(得分:11)
在“XCode 4.6界面”构建器中,通过菜单(编辑器 - >显示文档大纲)或单击画布左下角的半透明按钮调出“文档大纲”。在“对象”列表下,显示视图的Z顺序,用户可以拖动它们以更改彼此之间的顺序。越接近屏幕底部,该元素与用户“越接近”。
答案 4 :(得分:3)
我知道这是一个老问题,但在xcode 4.6中,我可以将列表中的元素向上和向下拖动到左侧。列表中的元素越低,它就越接近用户,例如列表中的底部元素将始终可见,除非它不在屏幕上。我不确定这是什么时候实施的,但它似乎比其他答案更容易。
答案 5 :(得分:2)
在斯威夫特:
在视图中,您想要带到顶部
superview?.bringSubviewToFront(self)
答案 6 :(得分:1)
对我有用的是在代码中执行此操作:
self.view.sendSubviewToBack(imageView);
我不知道为什么,但其他答案都没有解决。我将上面的行放在viewDidLoad方法中。