versiones descargar ios

ios - descargar - ¿Cómo llevar una subvista al frente cuando la toca?



ios download (4)

Tengo una vista con cerca de 30 subvistas. Quiero agregar código en viewcontroller de mi subvista para que cuando toque la subvista, la subvista se expanda para llenar la pantalla.

Estoy usando [self.view setFrame:rect] para expandir la subvista, y esto funciona bien. El problema es que algunas de las otras 29 subvistas están por encima de la subvista que acabo de tocar, por lo que aún son visibles.

Intenté usar bringSubviewToFront desde el controlador de vista padre, pero parece que esto no tiene ningún efecto. ¿Hay algún código que pueda poner en la clase viewcontroller de mi subvista para que esto suceda?


Para facilidad de uso, una extensión en Swift 3

extension UIView { func bringToFront() { self.superview?.bringSubview(toFront: self) } }


Usa este código, incluso si no sabes acerca de superView:

En objetivo-c:

[subview.superview bringSubviewToFront: subview];

En rápido:

subview.superview?.bringSubview(toFront: subview)


bringSubviewToFront debería funcionar, solo asegúrate de usarlo correctamente. El uso es

[parentView bringSubviewToFront:childView];


En Objective-C:

[self.superview bringSubviewToFront: subview];

En Swift 2.3:

self.superview!.bringSubviewToFront(subview)

En Swift 3.1.1 - Swift 4.1:

superview.bringSubview(toFront: subview)