Die UILabel-Ansicht verschwindet, wenn die Höhe größer als 8192 ist

8

Zuweisen einer großen Zeichenfolge zu UILabel. Und fügen Sie dieses Label in eine Bildlaufansicht hinzu.
Das UILabel verschwindet, wenn die UILabel-Höhe größer als 8192pt ist (das ist 2 ^ 13).

Ist das ein iOS Bug?

Und sollte ich andere Implementierung verwenden, um so viel String zu rendern? Sollte ich Tabellenansicht mit Zelle verwenden?

AKTUALISIEREN

Der Code, der das UILabel anzeigen wird:

%Vor%

Und der Code, den UILabel löscht, verschwindet

%Vor%     
Ray Shih 02.01.2013, 16:29
quelle

2 Antworten

7

Zunächst einmal - es muss kein Fehler sein. Es ist nur undefiniertes Verhalten. Beachten Sie, dass es bei jeder Komponente eine obere Größenbeschränkung gibt, wenn die Komponente nicht mehr ordnungsgemäß funktioniert. 8192 Punkte scheint eine niedrige Grenze zu sein, aber es ist immer noch etwa 8 Mal der iPad-Bildschirm im Hochformat.

Sie sollen keine so großen Ansichten machen. Beachten Sie, dass UIView s oft in den Speicher gerendert und gepuffert werden, um das Neuzeichnen zu beschleunigen. Bei einer Höhe von 8192 muss der Puffer sehr groß sein.

Das Aufteilen des Textes in mehrere UILabel s (z. B. nach Absatz) wäre definitiv eine Verbesserung.

Siehe Ссылка

    
Sulthan 02.01.2013, 16:44
quelle
0

Ich habe das gleiche Problem mit UITextViews festgestellt und kam zu einer ziemlich effektiven Lösung.

Wenn Sie es sehen möchten, sehen Sie sich meine Antwort hier an!:

Ссылка

Es sollte relativ leicht für UILabels angepasst werden.

    
Fateh Khalsa 10.05.2016 19:46
quelle

Tags und Links