El tamaño automáticamente subclase UITableViewCell subvistas
-
01-10-2019 - |
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!
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