performSegueWithIdentifier sehr langsam, wenn segue modal

Habe ich eine einfache Tabelle gesehen, wo ich mit der select-Aktion auf der Tabelle ansehen. Diese Aktion folgt eine überleitung.

Wenn die segue ist eine push segue, die nächste Ansicht zeigt sofort.
Wenn die segue ist eine modal segue, den nächsten Blick:

  • dauert 6 Sekunden oder so, um die Anzeige
  • zeigt sofort, wenn ich Tippen Sie erneut (zweiter tap)

Ich habe versucht, auf der Suche rund um für einige Ideen, aber keiner scheint für meine situation. Insbesondere:

  • Ich bin der Durchführung der übergang auf die Haupt-UI-thread
  • Meine Ansicht ist sehr einfach (es gibt also kein Problem in viewDidLoad). Plus die Tatsache, dass es zeigt sich in der Nähe sofortige, wenn der übergang ist push bedeutet, dass es keine problem beim laden der target-Ansicht
  • Ich versucht vorbei nil zu den sender; gleiche Wirkung.

Hat jemand irgendwelche Ideen dazu?

  • welchen code hast du in der nächsten Ansicht? Zum Beispiel, wenn Sie machen einen synchronen Netzwerk-Anfrage in der viewDidLoad, die verursachen könnten die Verlangsamung.
  • Testen Sie es am simulator in einem Gerät? Die Ergebnisse können variieren extrem zwischen den beiden.
  • Wie werden Sie präsentiert Ihre segue? performseguewithidentifier? Wenn ja, haben Sie versucht dispatch_async(dispatch_get_main_queue(), {performSegueWithIdentifier(mysegueIdentifier, self)})
  • ich Teste auf beiden emulieren und Gerät. Auf emulator die Verzögerung erheblich ist, sind auf dem Gerät, etwa 1-2 Sekunden. Wie ich schon erwähnt habe, wenn ich nur ändern Sie den übergang von "modal", "push", es ist instant. Also das problem ist mit "modal" leitet über...
InformationsquelleAutor tng | 2015-02-13
Schreibe einen Kommentar