Estoy arrastrando cosas en Interface Builder ... Me gustaría especificar si una imagen está delante (como un indicador) o detrás de un botón (como un fondo). No veo ninguna propiedad de índice z como estoy acostumbrado a ver en otros entornos. Si no hay una propiedad de índice Z, ¿cuál es la mejor manera de lograr lo que intento lograr? ¡Gracias!IPhone Interface Builder: Z-Index, Z-orden de un botón, imagen, elemento ui, etc.
Respuesta
Logré lo que quería haciendo clic en un elemento ui (botón, imagen, texto, etc.) y yendo al menú Diseño (en la parte superior de la pantalla) y luego usé "traer al frente", "enviar a volver", etc.
en Xcode 4.2 se encuentra el menú de opciones en la superior: Editor-> Organizar
En el desarrollo de XCode, un elemento de la interfaz de usuario o "vista" se encuentra delante de otra vista cuando se trata de una subvista de esa vista. Por ejemplo, si la vista B es un fondo y la vista C es un control, para colocar el control sobre el fondo (es decir, más cerca del usuario), haría que C sea una subvista de la vista B. En Interface Builder, esto se logra mediante arrastrando el control al fondo.
Básicamente, estás mirando una estructura de árbol, con las vistas en el fondo cerca de la raíz del árbol y las vistas en primer plano (más cerca del usuario) cerca de las hojas del árbol.
El documento Windows and Views de la documentación del desarrollador del iPhone de Apple puede ayudar a aclarar las cosas.
Nota 1: Casi nunca debe superponer controles individuales, como botones y campos de texto. Hacerlo va en contra de las pautas de la interfaz de usuario de Apple. Usted puede, por supuesto, siga haciendo esto si lo desea, pero debe tener en cuenta que está saliendo de la zona de seguridad. Si simplemente está escribiendo una aplicación de iPhone "normal", su mejor opción es seguir la forma de hacer las cosas de Apple.
Nota 2: Si, por alguna razón, usted no necesita cosas que se superponen de manera específica, se puede hacer uso de CALayer objetos para mantener todo ordenado correctamente. Los objetos CALayer son parte de la tecnología Core Animation de Apple.
+1 concisa explicó – TechZen
que ver lo que está diciendo, pero lo que si tuviera múltiples controles dentro de la misma vista. Por ejemplo, supongamos que tengo un botón MyButton dentro de una vista de MyView, pero quería que una Imagen sobrepase el botón (y sí, quiero una imagen sobre un botón, no quiero usar la propiedad de imagen inherente del botón). ¿Hay una manera posible de hacer esto o no? – foreyez
Sí, * se puede * hacer, aunque puede ser un poco más difícil que simplemente arrastrar y soltar. Ver http://stackoverflow.com/questions/466297/is-there-a-proper-way-to-handle-overlapping-nsview-siblings –
Hay un pedido Z sin utilizar subvistas. Por un lado, hay opciones de menú para "enviar al frente" y "enviar al dorso". También, sin embargo, si observa los elementos en su vista como un árbol de elementos, puede volver a ordenarlos allí (en lugar de hacerlo en la vista misma) simplemente arrastrando.
Las subvistas son geniales para agrupar pero no son tan útiles para ordenar (excepto que todo el "conjunto" se mantiene en el mismo nivel).
Sé que es una vieja pregunta, pero en xcode 4.6 puedo arrastrar elementos arriba y abajo en la lista a la izquierda. Cuanto menor sea el elemento en la lista, más cerca estará del usuario, p. el elemento inferior de la lista siempre estará visible, a menos que esté fuera de la pantalla. No estoy seguro de cuándo se implementó esto, pero parece más fácil que las otras respuestas.
En el Creador de interfaces XCode 4.6, abra el "Esquema del documento" en el menú (Editor-> Mostrar contorno del documento) o haga clic en el botón translúcido en la esquina inferior izquierda del lienzo. En la lista "Objetos", se muestra el orden Z de las vistas y el usuario puede arrastrarlas para cambiar el orden entre ellas. Cuanto más cerca de la parte inferior de la pantalla, más "cerca" ese elemento es para el usuario.
Lo que funcionó para mí estaba haciendo ella en el código:
self.view.sendSubviewToBack(imageView);
No sé por qué, pero ninguna de las otras respuestas arreglado para siempre. Puse la línea de arriba en el método viewDidLoad.
En Swift:
Dentro de la vista que desea traer a la parte superior
superview?.bringSubviewToFront(self)
- 1. iPhone Interface Builder y Delegados
- 2. Aplicación de iPhone sin usar Interface Builder
- 3. Tutorial de Interface Builder for iPhone
- 4. iPhone - ¿Crear objetos personalizados para Interface Builder?
- 5. Imágenes en Interface Builder al usar MonoTouch
- 6. advertencias Interface Builder
- 7. Configurando la imagen de un UIImageView en Interface Builder
- 8. ¿No está usando Interface Builder, comprarme algo?
- 9. Android Designer como "Interface Builder"?
- 10. ¿Colores extraños en XCode Interface Builder?
- 11. Fondo del botón personalizado de Interface Builder (iPhone dev) La imagen no respeta la configuración de Estiramiento
- 12. Usando Interface Builder para UITableViews
- 13. Interface Builder UIDatePicker
- 14. Enlaces utilizando Interface Builder (para aplicaciones de iPhone)
- 15. ¿Cómo creo complementos de Interface Builder personalizados para el iPhone?
- 16. Características ocultas de Interface Builder?
- 17. iOS Interface Builder - ¿Cómo restablecer la imagen al tamaño predeterminado?
- 18. NSTextField con NSNumberFormatter automático en Interface Builder
- 19. UIView personalizado creado con Interface Builder accesible/posicionable a través de Interface Builder
- 20. ¿Cómo configurar UIScrollView en Interface Builder con elementos de UI fuera de la vista principal de iPhone?
- 21. Usar Singleton In Interface Builder?
- 22. ¿Puedo crear aplicaciones RubyMotion con Interface Builder?
- 23. Xcode Interface Builder no se inicia
- 24. Cómo solucionar un proyecto que Interface-Builder fubar'd
- 25. Cómo agregar MKUserTrackingBarButtonItem en Interface Builder
- 26. iPhone: crea un componente reutilizable (control) que tiene algunas piezas de Interface Builder y un código
- 27. ZBarReaderView clase desconocida en Interface Builder archivo
- 28. Interface Builder: cómo seleccionar elementos anidados?
- 29. Vistas de grupo en Interface Builder
- 30. hereda el archivo xib en Interface Builder
+1 ... es histérico para mí que haya todas estas explicaciones complicadas, pero la respuesta correcta no fue presentada. (Supongo que Kendall sí mencionó los elementos del menú, pero no entró donde estaban ubicados). Puramente especulación, pero me imagino que los objetos CALayer DEBEN tener algún concepto de z-index. – livingtech
En Xcode 4.2, encontrará las opciones en el menú arriba: Editor-> Organizar – MdaG
También debe seleccionar el elemento que desea traer al frente en la pantalla de diseño, (que probablemente esté oculto) no en la barra lateral. .. WTF Xcode? – amleszk