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.

questionAnswers(6)

yourAnswerToTheQuestion