Tengo un UIView padre que tiene el UIView secundario (UILabel utilizado en el código siguiente) cuyo marco está establecido en los límites del padre y cuyo autoresizingMask se establece en ancho flexible y altura:Marco de Autoreizing de UILabel al animar el marco (tamaño) del UIView padre
UIView* parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
UILabel* childLabel = [[UILabel alloc] initWithFrame:parentView.bounds];
childLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
childLabel.textAlignment = UITextAlignmentCenter;
childLabel.text = @"Hello";
Quiero ser capaz de animar el marco de la vista padre, específicamente su tamaño, y tienen la subvista cambiar el tamaño como parte de la animación:
[UIView animateWithDuration:1.0 animations:^{ parentView.frame = CGRectMake(0, 0, 160, 240); }];
como resultado de esta animación I querría que el texto de UILabel se animara junto con la vista principal a nimación, de forma visual vería que el texto pasa de estar centrado en (160, 240) a (80, 120). Sin embargo, en lugar de animar, parece que el fotograma de la subvista se establece inmediatamente en el valor que debería tener al final de la animación, por lo que verá que la posición del texto se dispara inmediatamente cuando comienza la animación.
¿Hay alguna manera de hacer que las subvistas se personalicen como parte de una animación?
Esa es una gran información. UIViewContentModeCenter funciona para lo que realmente necesito, para que el texto permanezca centrado mientras que el marco de la vista principal se reduce o crece. Gracias. –
¡Lo suficientemente genial! ¡Gracias! – Kjuly