Estoy trabajando con una UITableView, con UITableViewCell. Mi aplicación admite la orientación horizontal, así que he creado 2 UITableViewCell: una para el portraid y otra para el paisaje.reloadData en un UITableView cuando deviceOrientation cambia
En mi método cellForRowAtIndexPath este es mi código
static NSString *CellIdentifier;
static NSString *NibNamed;
UIDeviceOrientation deviceOrientation = [UIApplication sharedApplication].statusBarOrientation;
if (deviceOrientation != UIDeviceOrientationLandscapeLeft &&
deviceOrientation != UIDeviceOrientationLandscapeRight)
{
CellIdentifier= @"Cell1";
NibNamed = @"cell_news";
}
else
{
CellIdentifier= @"Cell2";
NibNamed = @"cell_news_landscape";
}
[[NSBundle mainBundle] loadNibNamed:NibNamed owner:self options:NULL];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:NibNamed owner:self options:nil];
cell = [nib objectAtIndex:0];
}
///here i add title, description, ecc... in my UITableViewCell
Luego, en shouldAutorotateToInterfaceOrientation i escribió esto:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
[my_table reloadData];
return YES;
}
¿Dónde está el problema? Si comienzo la aplicación en vertical, cuando giro el dispositivo por primera vez, no pasa nada (y UITableCellView es la tabla_de_modelo_vuelta). Cuando giro el dispositivo por segunda vez (y estoy en vertical o boca abajo), veo el landscape_table_cell (y, por supuesto, no veo todo el texto porque sale de la pantalla). Así que ... excepto la primera vez, las otras veces que giro el dispositivo, veo el table_cell_view incorrecto !!
¿Sabes por qué? Gracias!
gracias! ¡¡esto funciona!! – JAA
Pero eche un vistazo a lo que @Jhaliya tiene que decir. Realmente es mejor hacer que sus celdas se ajusten al tamaño de forma automática. – rckoenes