UITableView korrigiert die Bildlaufposition nach der Gerätedrehung
Ich baue so etwas wie einen Leser für ein Buch. Wenn der Benutzer das Telefon dreht, möchte ich die Schriftgröße erhöhen. Ich benutze eineUITableView
um Textblöcke anzuzeigen.
Das Problem ist, dass das Erhöhen der Schriftgröße die Zeilenhöhe in meiner Tabellenansicht erhöht. Wenn ich im Hochformat den Absatz 320 gelesen habe, erhalte ich im Querformat den Wert 280 oder ähnliches.
Ich habe einen Rotationsbenachrichtigungs-Listener mit folgendem Code eingerichtet:
UIDevice *device = [UIDevice currentDevice];
[device beginGeneratingDeviceOrientationNotifications];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self
selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:device];
und versucht, den letzten Absatzindex vor der Drehung zu speichern und dann nach der Drehung nach unten zu diesem zu scrollen, aber ich kann den gewünschten Effekt scheinbar nicht erzielen.
Wie gehe ich am besten mit einer solchen Situation um und wo implementiere ich die Rotationszustände "vor" und "nach"?
Ich möchte, dass es auf iOS 4+ funktioniert.