Como comentó Uli a continuación, la forma correcta de hacerlo es anular layoutSubviews
y diseñar los imageViews allí.
Si, por alguna razón, no puede subclasificar y anular layoutSubviews
, la observación bounds
debería funcionar, incluso cuando esté algo sucio. Peor aún, existe un riesgo al observar: Apple no garantiza que KVO funcione en las clases de UIKit. Lea la discusión con el ingeniero de Apple aquí: ¿ Cuándo se libera un objeto asociado?
respuesta original:
Puede utilizar la observación de pares clave-valor:
[yourView addObserver:self forKeyPath:@"bounds" options:0 context:nil];
e implementar:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (object == yourView && [keyPath isEqualToString:@"bounds"]) {
// do your stuff, or better schedule to run later using performSelector:withObject:afterDuration:
}
}