Estoy haciendo algunas pruebas simples para agregar CALayer a UIView. En mi clase principal controlador de una aplicación para el iPhone 4, he implementado el método viewDidLoad
como tal:iOS: self.view.bounds no llena toda la ventana
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"%s", __PRETTY_FUNCTION__);
CALayer* ca = [[CALayer alloc] init];
[ca setBounds:self.view.bounds];
[ca setBackgroundColor:[[UIColor blueColor] CGColor]];
[self.view.layer addSublayer:ca];
}
El fondo azul sólo se ocupan 1/4 de la pantalla.
Me pregunto si es porque no tomaba en consideración pantalla de retina? ¿Cuál es la mejor práctica en esta situación?
Añadido estos mensajes de depuración:
NSLog(@"frame w:%f h:%f", self.view.frame.size.width, self.view.frame.size.height);
NSLog(@"bounds w:%f h:%f", self.view.bounds.size.width, self.view.bounds.size.height);
Salida:
frame w:320.000000 h:460.000000
bounds w:320.000000 h:460.000000
¿Cuál es el valor de 'self.view.frame'? Puedes verificar –
@Deepak: Es {ancho: 320, alto: 460}. Agregó el resultado de depuración a la pregunta misma también. –