2016-05-10 5 views
0

Das erste Mal, dass ein UIViewController angezeigt wird, gibt es eine spürbare Verzögerung. Das Problem wurde auf das UITextField reduziert, dh das Entfernen des UITextFields entfernt die Verzögerung.Verzögerung bei der Präsentation von UIViewController mit UITextField?

Die Verzögerung tritt nur auf, wenn der UIViewController zum ersten Mal angezeigt wird (nach dem Start der App). Nachfolgende Zeiten gibt es keine Verzögerung. Wenn Sie die App beenden und neu starten, wird die Verzögerung für die erste Präsentation des UIViewControllers erneut angezeigt.

Dies scheint ein bekanntes Problem zu sein, aber Lösungen, die von anderen SO Antworten vorgeschlagen werden, helfen nicht. Durch das Deaktivieren der Eigenschaft "Enabled" im Storyboard wird das Problem beispielsweise nicht gelöst, und die App wird nicht im Debugger ausgeführt.

Hinweis: Dies ist kein Problem mit der Tastatur wie in diesem SO question.

Alle Vorschläge zu Problemumgehungen?

+0

Haben Sie immer noch dieses Verhalten, wenn Ihre App nicht unter dem Debugger läuft? – Paulw11

+0

@ Paulw11 ja vergessen, das in die Frage aufzunehmen. irgendwelche Ideen? – Crashalot

+0

@ Paulw11 hat auch vergessen hinzuzufügen, dass die Verzögerung nur auftritt, wenn der UIViewController das erste Mal präsentiert wird (nach dem Start der App). Nachfolgende Zeiten gibt es keine Verzögerung. – Crashalot

Antwort

0

Die Verwendung von benutzerdefinierten Schriftarten kann zu Verzögerungen führen, wenn die Schriftartspezifikation nicht ganz korrekt ist, da iOS die Schriftarten auflistet, die versuchen, eine Übereinstimmung zu finden.

Es scheint, dass in diesem Fall die Verwendung einer Schriftart, die einige Unterschiede zwischen iOS8 und iOS9 hat, die Verzögerung auf iOS8-Geräten verursacht hat. Das vorherige Laden der Schriftart in einem nicht kritischen Codeabschnitt hat das Problem umgangen.

0

Das Problem war das Vorhandensein einer benutzerdefinierten Schriftart.

Mit anderen Worten, die Verwendung der Systemschriftart auf dem UITextField, anstatt einer benutzerdefinierten Schriftart, entfernt die Verzögerung. Keine Erklärung warum, aber es funktioniert.

Verwandte Themen