IPhone Interface Builder:Z-Index,按钮的Z顺序,图像,ui元素等?

for*_*yez 61 iphone xcode interface-builder

我正在界面生成器中拖动它...我想指定图像是在前面(如指示符)还是在按钮后面(如背景).我没有看到任何z-index属性,因为我习惯在其他环境中看到它.如果没有z-index属性,那么我想要实现的目标是什么?谢谢!

for*_*yez 85

我通过点击一个ui元素(按钮,图像,文本等)并进入布局菜单(在屏幕顶部)实现我想要的,然后我使用"带到前面","发送到后面"等.

在Xcode 4.2中,您将在菜单顶部找到选项:Editor-> Arrange

  • 在Xcode 4.2中,您将在菜单顶部找到选项:Editor-> Arrange (14认同)
  • 尝试这样做,但所有"发送到_____"菜单选项都显示为灰色. (13认同)
  • @amleszK:如果你双击它会选择它.只需单击侧栏,就可以在编辑屏幕上高亮显示,以指示元素的位置 - 但双击(在侧栏中)也会选择它. (6认同)
  • +1 ......对我来说,有所有这些复杂的解释都是歇斯底里的,但没有提交正确的答案.(我猜Kendall确实提到了菜单项,但没有进入他们所在的位置.)纯粹猜测,但我想CALayer对象必须有一些z-index的概念. (5认同)

Ken*_*ner 24

没有使用子视图就有Z顺序.一方面,有"发送到前面"和"发送到后面"的菜单选项.但是,如果您将视图中的元素视为元素树,则可以通过拖动在那里重新排序(而不是在视图中).

子视图非常适合分组,但不能用于排序(除了整个"集合"保持在同一级别).


e.J*_*mes 14

在XCode开发中,当UI元素或视图是该视图的子视图时,它位于另一个视图的前面.例如,如果视图B是背景而视图C是控件,则将控件置于背景之上(即更接近用户),您将使视图C成为视图B的子视图.在Interface Builder中,这是通过以下方式完成的:将控件拖到后台.

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

Apple的iPhone开发人员文档中的Windows和Views文档可能有助于解决问题.

注意1:您几乎不应该重叠单个控件,例如按钮和文本字段.这样做违反了Apple的用户界面指南.你可以,当然,还是做这个,如果你想,但你需要知道你正在走出安全区.如果你只是在编写一个"普通"的iPhone应用程序,最好的办法是坚持使用Apple的做事方式.

注意2:如果出于某种原因,您确实需要以特定方式重叠事物,则可以使用CALayer对象来保持正确排序的所有内容.CALayer对象是Apple核心动画技术的一部分.


小智 12

在"XCode 4.6接口"构建器中,通过菜单(编辑器 - >显示文档大纲)或单击画布左下角的半透明按钮调出"文档大纲".在"对象"列表下,显示视图的Z顺序,用户可以拖动它们以更改彼此之间的顺序.越接近屏幕底部,该元素与用户"更接近".


Kev*_*vin 5

我知道这是一个老问题,但是在 xcode 4.6 中,我可以将列表中的元素向上和向下拖动到左侧。列表中的元素越低,它离用户越近,例如列表中的底部元素将始终可见,除非它不在屏幕上。我不确定这是什么时候实施的,但它似乎比其他答案更容易。