代码之家  ›  专栏  ›  技术社区  ›  Shai UI

iphone界面构建器:z索引、按钮的z顺序、图像、ui元素等?

  •  60
  • Shai UI  · 技术社区  · 14 年前

    我在界面生成器中拖拽东西…我想指定图像是在按钮的前面(如指示器)还是后面(如背景)。我看不到任何z-index属性,因为我习惯于在其他环境中看到。如果没有 一个z-索引属性什么是最好的方法来实现我的目标?谢谢!

    7 回复  |  直到 8 年前
        1
  •  83
  •   M S    12 年前

    我通过点击一个ui元素(按钮、图像、文本等)并进入布局菜单(在屏幕顶部),然后使用“前置”、“后置”等来实现我想要的。

    在xcode 4.2中,您可以在菜单顶部找到选项:editor->arrange

        2
  •  24
  •   Kendall Helmstetter Gelner    14 年前

    在不使用子视图的情况下有一个z顺序。首先,有“发送到前面”和“发送到后面”的菜单选项。但是,如果您将视图中的元素视为元素树,则可以通过拖动将它们重新排序(而不是在视图本身中)。

    子视图对于分组非常有用,但对于排序却没有那么有用(只是整个“集合”保持在同一级别)。

        3
  •  13
  •   James Eichele Bernard Igiri    14 年前

    在Xcode开发中,当一个UI元素或“视图”是另一个视图的子视图时,它就在另一个视图的前面。例如,如果视图B是一个背景,视图C是一个控件,要将控件放置在背景之上(即更靠近用户),可以将视图C设置为视图B的子视图。在界面生成器中,这是通过拖动控件来完成的 进入之内 背景。

    从本质上讲,您看到的是一个树结构,背景中的视图靠近树的根,而前景中的视图(靠近用户)靠近树的叶。

    这个 Windows and Views 苹果iphone开发者文档中的文档可能有助于澄清问题。

    注1: 几乎不应该重叠单个控件,如按钮和文本字段。这样做违背了苹果的用户界面指南。你 可以 当然,如果你想的话,还是这样做,但是你需要知道你正在走出安全区。如果你只是在写一个“普通”的iphone应用程序,你最好还是坚持苹果的做事方式。

    注2: 如果出于某种原因,您确实需要以特定的方式进行重叠,则可以利用 CALayer 以保持一切正常有序。Calayer对象是苹果核心动画技术的一部分。

        4
  •  11
  •   Hugh Eric Colton    10 年前

    在Xcode4.6界面生成器中,通过菜单(编辑器->显示文档大纲)或单击画布左下角的半透明按钮来打开“文档大纲”。在“objects”列表下,将显示视图的z顺序,用户可以拖动它们来更改彼此之间的顺序。越接近屏幕底部,元素就越接近用户。

        5
  •  3
  •   Kevin    11 年前

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

        6
  •  2
  •   Tanvir Nayem    8 年前

    斯威夫特:

    在您要带到顶部的视图中

         superview?.bringSubviewToFront(self)
    
        7
  •  1
  •   Nerdroid    10 年前

    对我有用的是用代码:

    self.view.sendSubviewToBack(imageView);
    

    我不知道为什么,但没有一个其他的答案能永远解决这个问题。我在viewdidload方法中放了上面的一行。