ios core-graphics drawrect z-order

ios - drawRect en la parte superior de las subvistas



core-graphics z-order (2)

UIView y le agregué un método drawRect . Luego defino una vista usando esta clase personalizada y le agrego subvistas.

El problema es que drawRect parece dibujar cosas debajo de las subvistas (por lo tanto no visibles).

Quiero que las cosas que draw Draw aparezcan sobre las subvistas de mi UIView personalizado.

es posible?


No, las subvistas siempre aparecen encima de su contenedor. Nada le impide hacer las subvistas (parcialmente) transparentes, por supuesto.

Si desea dibujar arriba, coloque otra subvista transparente como la subvista superior en el contenedor y dibuje esa. Si deshabilita la interacción del usuario en él, no interferirá con su manejo táctil.


Siempre se dibujará una subvista en "cima" de su supervista.

Dependiendo de sus requisitos específicos, puede necesitar tener una UIView simple como la vista de fondo / contenedor, con sus subvistas existentes allí, y luego su vista personalizada como otra subvista agregada a la parte superior, por lo que tiene el orden Z más alto .

Esto funcionaría, por ejemplo, si su vista personalizada fuera una superposición de cuadrícula que debería estar encima de todo lo demás. La vista personalizada debería ser no opaca con un color de fondo claro.