UITableView corrige a posição de rolagem após a rotação do dispositivo
Estou construindo algo como um leitor para um livro. Quando o usuário gira o telefone, quero aumentar o tamanho da fonte. Estou usando umUITableView
para exibir pedaços de texto.
O problema é que, aumentando o tamanho da fonte aumenta a altura das linhas na minha visão de tabela e se eu estava lendo o parágrafo 320 no modo retrato eu recebo 280 ou algo semelhante no modo paisagem.
Eu configurei um ouvinte de notificação de rotação usando este código:
UIDevice *device = [UIDevice currentDevice];
[device beginGeneratingDeviceOrientationNotifications];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:device];
e tentei salvar o índice do último parágrafo antes da rotação e depois rolar para baixo após a rotação, mas parece que não consigo obter o efeito desejado.
Qual é a melhor maneira de lidar com esse tipo de situação e onde eu realmente implemento os estados de rotação "antes" e "depois"?
Eu gostaria que funcionasse no iOS 4 ou superior.