Pregunta

He subclase UITableViewCell e incorporó algunas subvistas a través del método layoutSubviews. Todas las vistas se asignan y se iniciaron en el método initWithStyle, y los marcos se fijan en el método layoutSubviews, así:

initWithStyle:... {
UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectZero];
myLabel.someProperties = Configured;
[self.contentView addSubview:myLabel];

layoutSubviews {
CGRect labelRect = CGRectMake(10.0f, 5.0f, 35.0f, 180.0f);
myLabel.frame = labelRect;

Configuración de la shouldAutoRotateOrientation a SI en que gira el ViewController la NavigationController, tableView y UIToolbar adecuada, pero el contenido de la tableViewCells no se mueven. No me queda claro de dónde o qué añadir la medida de lo AutoResizingMasks. Las combinaciones que he probado hasta ahora no han hecho nada. Alguien puede darme una mano?

Gracias!

¿Fue útil?

Solución

La respuesta que he llegado con es utilizar la codificación condicional a Place ver marcos, depende de la orientación, en el método layoutSubviews

-(void)layoutSubviews {
    //For portrait mode (NOT PORTRAIT UPSIDE DOWN)
    if ( UIDeviceOrientationIsPortrait([[UIDevice currentDevice]orientation]) ) {
        CGRect portraitFrame = CGRectMake(Portrait Frame Coordinates);
        myLabel.frame = portraitFrame;
    } else {
    //For landscape modes
        CGRect landscapeFrame = CGRectMake(landscape frame coordinates);
        myLabel.frame = landscapeFrame;
    }
}

Parece hackeado pero funciona en subclases UITableViewCells

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top