2012-04-07 11 views
35

?¿Cómo puedo insertar una subvista debajo de las otras subvistas

Tengo algunas etiquetas que las dibujo en el archivo xib, y agrego una vista de fondo usando códigos, pero la vista de fondo está al frente de estas etiquetas, por lo que no puedo verlas. Entonces, mi pregunta es ¿cómo puedo agregar una vista de fondo debajo de estas etiquetas ?

Gracias de antemano.

Respuesta

58

Si Google UIView que va a terminar en la documentación - UIView Class Reference

Luego hay que mirar hacia abajo la lista de los métodos hasta que encuentre algo que suena como que se ajuste a sus necesidades más o menos como estos dos:

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index 

y

- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview 

En este punto solo tiene que leer las descripciones de cómo se comportan los métodos y elegir el que sea más fácil de implementar para su diseño. Es realmente bueno para su propio aprendizaje si intenta encontrar la respuesta usted mismo antes de hacer una pregunta

+1

¡Gracias! Primero buscaré en Google y encontraré la respuesta. Tu consejo es útil. – jxdwinter

+4

Una vez que se acostumbre a mirar los documentos, encontrará que las respuestas son mucho más fáciles de encontrar: es difícil saber por dónde empezar –

3

En IB, las subvistas de una vista se enumeran en una jerarquía bajo esa vista. Las subvistas que aparecen encima de sus hermanos en esa jerarquía aparecerán debajo de ellas en la vista representada. Por lo tanto, en el siguiente ejemplo, la etiqueta in99:99 AM aparece debajo del botón Sign In en tiempo de ejecución.

Si su fondo es solo un UIImageView, considere agregar la vista a su NIB y luego establecer su UIImage en tiempo de ejecución. De esta forma, no te confundas. Además, what Paul.s said.

enter image description here

+1

El OP está hablando de agregar una vista en el código fuera del xib. –

+0

oooh tienes razón. Oh bien. – QED

+0

Buena explicación sin embargo :) –

1

Swift 3 y posterior.

view.insertSubview(theViewYouWantToAdd, at: 0) 
3

Puede llamar a este método en Swift 3

view.insertSubview(yourSubView, at: 0) 

o

view.sendSubview(toBack: yourSubView) 
Cuestiones relacionadas