Estoy haciendo una aplicación para iPad, solo se admitirá el modo horizontal. Estoy teniendo un UIView
y más tarde estoy agregando dinámicamente UIImageView
como una subvista. Sin embargo, mi objetivo es agregar imágenes en el centro de UIView
. Por lo que utiliza este código,UIView.center = UIImageView.center pero la vista de imagen no parece estar en el centro en el paisaje
[imageView setCenter:dynamicMainView.center];
donde imageView es UIImageView
(obvio :)) y dynamicMainView es UIView
, Sin embargo docente resultado final parece estar en el centro,
representación visual
Código de método completo para anuncio ding UIImageView en UIView es,
-(void) addImageIntoMainDynamicView:(UIImage *) image
{
[self clearImageFromMainDynamicView];//Always clear Dynamic main view before adding new views
imageView = [[UIImageView alloc] initWithImage:image];
if(imageView.bounds.size.width > dynamicMainView.bounds.size.width || imageView.bounds.size.height > dynamicMainView.bounds.size.height)
{
[imageView setFrame:[dynamicMainView bounds]];
}
[imageView setCenter:dynamicMainView.center];
NSLog(@"Image : X = %f and Y = %f", imageView.center.x,imageView.center.y);
NSLog(@"UIView : X = %f and Y = %f", dynamicMainView.center.x,dynamicMainView.center.y);
[dynamicMainView addSubview:imageView];
[imageView release];
}
Y por encima del valor de registro es,
2011-12-21 21:07:11.850 Map1TestApp[94645:11603] Image : X = 512.000000 and Y = 371.500000
2011-12-21 21:07:11.853 Map1TestApp[94645:11603] UIView : X = 512.000000 and Y = 371.500000
Cualquier pista sobre por qué no es la adición en el centro? ¿Estoy haciendo algo mal?
PARA FUTURAS espectador la anwser fue:
[imageView setCenter:CGPointMake(CGRectGetMidX([dynamicMainView bounds]), CGRectGetMidY([dynamicMainView bounds]))];
Así que no lo dudes, antes de obtener un Frame bound, que es una pantalla completa en lugar de un espacio UIView (Rect)? Pero ahora me estoy centrando en el CGRect de UIView? ¿Tengo razón? – doNotCheckMyBlog
Sí, eso es todo. bounds es el tamaño de la vista en el propio sistema de coordenadas de vistas (origen 0,0). El marco es el tamaño de la vista, pero el origen es el punto en el sistema de coordenadas de la supervista donde está la esquina superior izquierda. La propiedad central está en el sistema de coordenadas de la supervista. – jrturton