Estoy arrastrando las cosas en el Interface Builder… me gustaría especificar si una imagen está en frente (como un indicador), o detrás de un botón (como fondo). Yo no veo ninguna z-index de la propiedad como yo estoy acostumbrado a ver en otros entornos. Si no hay
un z-index de la propiedad ¿cuál es la mejor manera de ir sobre lo que estoy tratando de lograr? Gracias!

InformationsquelleAutor foreyez | 2010-02-16

7 Comentarios

  1. 85

    He conseguido lo que quería, haciendo clic en un elemento de interfaz de usuario (botón, imagen, texto, etc) e ir al menú Diseño (en la parte superior de la pantalla) y, a continuación, he utilizado «traer al frente», «enviar al fondo», etc.

    En Xcode 4.2 encontrarás las opciones en el menú en la parte superior: Editor->Organizar

    • +1… es histérico a mí que hay todas estas explicaciones complicadas, sin embargo, la respuesta correcta no se había presentado. (Supongo que Kendall hizo mención de los elementos del menú, pero no ir a donde se encuentra.) Puramente especulación, pero me imagino que CALayer objetos DEBEN tener algún concepto de z-index.
    • En Xcode 4.2 encontrarás las opciones en el menú en la parte superior: Editor->Organizar
    • También usted necesita para seleccionar el elemento que desea llevar a delante en la pantalla de diseño, (que es probablemente oculto) no en la barra lateral… WTF Xcode?
    • Tratando de hacer esto, pero todo el «Enviar a _____» las opciones de menú aparecen atenuados.
    • si se hace doble clic se selecciona. Un solo clic en la barra lateral solo destaca en la pantalla de edición, para indicar que el elemento es – pero doble clic (en la barra lateral) también se selecciona.
    • Tenga en cuenta que usted tiene que ‘haga clic en’ el ‘elemento’ en lugar de seleccionar desde la barra lateral.
    • Kendall Helmstetter Gelner dice a la derecha! haga doble clic en la vista que desee en la barra lateral !! aga doble clic en el elemento que se comprueba con la luz gris……..solo haga clic en resaltar con color azul!

  2. 24

    Hay un orden Z sin el uso de subvistas. Para una cosa que hay opciones de menú para «enviar a frente» y «enviar al fondo». Sin embargo, si observamos los elementos en la vista en forma de árbol de elementos, puede cambiar el orden de ellos (en lugar de en la propia vista) simplemente arrastrando.

    Subvistas son grandes para la agrupación, pero no es tan útil para ordenar (a excepción de que todo el «conjunto» se mantiene en el mismo nivel).

  3. 13

    De desarrollo XCode, un elemento de interfaz de usuario, o «punto de vista» está en frente de otro punto de vista cuando se trata de una subvista de ese punto de vista. Por ejemplo, si B es un fondo y ver que C es un control, para colocar el control sobre el fondo (es decir, más cerca del usuario), que haría de la vista C una subvista de vista de B. En el Interface Builder, esto se logra arrastrando el control en el fondo.

    Esencialmente, usted está buscando en una estructura de árbol, con las vistas en el fondo cerca de la raíz del árbol, y las vistas en el primer plano (más cerca del usuario) está cerca de las hojas del árbol.

    La Ventanas y Vistas documento de Apple iPhone del desarrollador documentación puede ayudar a aclarar las cosas.

    Nota 1: casi nunca superposición de controles individuales, tales como botones y campos de texto. Hacerlo va en contra de Apple directrices de interfaz de usuario. Usted puede, por supuesto, hacer esto si quieres, pero debes ser consciente de que se está saliendo de la zona de seguridad. Si usted simplemente está escribiendo un «normal» de la aplicación para iPhone, lo mejor es ceñirse a Apple manera de hacer las cosas.

    Nota 2: Si, por alguna razón, usted no necesita que las cosas se superponen de una manera específica, usted puede hacer uso de CALayer objetos para mantener todo ordenado adecuadamente. CALayer objetos son parte de Apple del Núcleo de la tecnología de Animación.

    • +1 de manera Concisa, explicó
    • Yo veo lo que estás diciendo, pero ¿qué pasa si usted tenía varios controles dentro de la misma vista. Por ejemplo, decir que tengo un botón MyButton dentro de una vista MyView, pero yo quería una Imagen sobre el botón (y sí, yo quiero una imagen sobre un botón, yo no quiero usar el botón inherentes a las propiedades de la imagen). Hay una manera posible de hacer esto o no?
    • Sí, es puede hacer, aunque puede ser un poco más difícil que la simple arrastrar y soltar. Consulte stackoverflow.com/questions/466297/…
    • hmm, apple necesita para conseguir su acto juntos acerca de esto. z-index es el camino a seguir. este es primitivo. gracias por tu ayuda, aunque!!
    • Si quieres hacerlo correctamente, el uso de CALayers es el camino a seguir. En IB, si habilita capas para su base de ver (el que contendrá la superposición de los hermanos), a continuación, arrastre la imagen en la parte superior del botón debería funcionar. Creo que tienes que añadir primero el botón y, a continuación, agregar la imagen y, a continuación, arrastre la imagen en la parte superior. Además, tenga en cuenta que puede que tenga que saltar a través de aros para conseguir hacer «clic» en el trabajo.
    • Usted es bienvenido por la ayuda, pero yo no estaría demasiado rápido para juzgar a Apple en este. Una estructura de árbol para las vistas permite la eficacia de las operaciones de dibujo, porque el tiempo de ejecución puede rápidamente divide el lienzo en distintas regiones que necesitan ser editados.
    • Se puede tomar una pequeña cantidad de ajuste durante el desarrollo, pero paga muy bien de tiempo cuando el usuario está ejecutando la aplicación, y que es cuando realmente importa.
    • Me he dado cuenta de que la pregunta que he enlazado en mi primer comentario es mío, desde el camino de vuelta en el día, cuando yo estaba aprendiendo estas cosas por primera vez! Supongo que todos tenemos que hacer estas preguntas cuando estamos empezando 🙂

  4. 11

    En XCode 4.6 Interface builder, abrir el «Esquema del Documento» por el menú (Editor->Mostrar el Documento de Esquema) o haciendo clic en el translúcido botón en la esquina inferior izquierda del lienzo. En virtud de los «Objetos» del listado, el orden Z de los puntos de vista aparece en pantalla y el usuario puede arrastrar para cambiar el orden entre el uno del otro. Cuanto más cerca de la parte inferior de la pantalla, el «más cerca» que es el elemento para el usuario.

  5. 3

    Sé que es una pregunta vieja, pero en xcode 4.6 me puede simplemente arrastrar los elementos arriba y abajo en la lista a la izquierda. La parte inferior del elemento en la lista, más cerca se encuentre el usuario, por ejemplo, la parte inferior del elemento en la lista siempre será visible, a menos que sea fuera de la pantalla. No estoy seguro de que cuando esto se llevó a cabo, pero parece más fácil que las otras respuestas.

  6. 2

    En Swift:

    Dentro de la vista que desea llevar a la parte superior

         superview?.bringSubviewToFront(self)
  7. 1

    Lo que funcionó para mí estaba haciendo en el código:

    self.view.sendSubviewToBack(imageView);

    No sé por qué, pero ninguna de las otras respuestas fija para el bien. He puesto la línea de arriba en el método viewDidLoad.


Dejar respuesta

Please enter your comment!
Please enter your name here