2012-03-29 7 views
3

Ich habe eine TableView. Anstatt mehrere Unteransichten in jeder TabelleViewCell zu haben, habe ich eine Hauptunteransicht hinzugefügt, die jede der anderen Unteransichten in ihrer drawRect-Methode zeichnet. (Ich habe irgendwo gelesen, dass Scroll-Animation besser aussieht. Auch Apfel hat ein Beispielprojekt CustomTableViewCell).Verwenden von DrawRect-Strängen während der Orientierungsänderung

Erstens, Problem ist, wenn ich die Ausrichtung des Geräts ändert, dann wird DrawRect nicht automatisch aufrufen. Und jede Tabellenansichtszelle scheint gestreckt zu sein. Ich löste dies durch die Verwendung

mainView.contentMode = UIViewContentModeRedraw 

Dieses löst das Problem. Wenn nun die Ausrichtung geändert wurde, wird drawRect automatisch aufgerufen.

Während der Orientierungsänderung zeigt die Animation der rotierenden Ansicht jedoch immer noch die gestreckten Tabellenansichtszellen an. Es ist eine sehr kleine Sache, aber trotzdem ist es auffällig. Kann mir jemand was dazu vorschlagen ?????

Antwort

0

Sie können während der Animation nicht neu zeichnen (nicht leicht, trotzdem).

Teilen Sie die Tabellenzelle erneut in Komponenten und richten Sie die Autoresierung korrekt ein. Die Animation wird dann nur Komponentenpositionen animieren und es wird gut aussehen.

Wo haben Sie gelesen drawRect: würden Scroll-Animation besser machen? Hattest du Probleme mit der Scroll-Animation?

Bearbeiten: IMHO Es gibt keine Möglichkeit, wie Größenanimation Animationen zu korrigieren und die Leistungssteigerung von drawRect: statt Subviews zu halten.

+0

http://stackoverflow.com/questions/7581482/atebits-twitter-fast-scrolling –

+0

Ich verstehe, warum es die Neulackierung schneller machen wird, wird es die Schicht Compositing überspringen, aber es hat einige Fehler. Du hast von ihnen gefunden. Die Frage ist, musst du das wirklich tun? War deine Scroll-Animation langsam? Ist das nicht ein typischer Fall einer vorzeitigen Optimierung? – Sulthan

+0

ja !!! Das möchte ich optimieren. Wenn man 10000 Zeilen in der Tabelle hat und das Scrollen besser macht, ist das Dehnungsproblem besser, das ich identifiziert habe. Ich möchte nur versuchen, wenn ich das auch irgendwie lösen kann. –

Verwandte Themen