2015-05-05 2 views
6

Dies hat mich für eine Weile jetzt stumping. Ich habe eine UISplitViewController innerhalb einer UITabBarController. Die Masteransicht ist eine TableView. Wenn ich auf eine Zelle klicke, erstelle ich einen sehr einfachen View-Controller mit nur einem UIButton zentriert. Hier ist der Code für die View-Controller:Swift unsymmetrische Anrufe zu Beginn/Ende Aussehen Übergänge für

Wenn ich auf Abbrechen oder wählen und Bild, der Picker-Controller wird richtig angezeigt. Das Problem kommt, wenn ich auf der Rückseite Schaltfläche klicken, um die Tableview zurückzukehren, ich erhalte:

Unbalanced calls to begin/end appearance transitions for <TestViewController: 0x7fb882a72380>. 

Die TestViewController ist sehr einfach, also warum dies geschehen würde?

+0

Wenn Sie zum 'tableView' zurückkehren, versucht vielleicht der' tableView' diesen vc wieder zu präsentieren? – Schemetrical

Antwort

7

Dieses Problem tritt auf, wenn Sie versuchen, neue Ansicht Controller während der vorherigen Transaktion (Animation) in Bearbeitung zu schieben. Überprüfen Sie daher Ihren Code-Flow und nehmen Sie die entsprechenden Änderungen vor. Überprüfen Sie Ihre Ablehnungs- und Präsentationsanimationen. Sie können Eigenschaft setAnimation auf ‚YES/NO'resolve verwenden dieses

Set animiert: nein, können Ihr Problem

+5

Danke für die Hilfe. Seltsamerweise half es mir, das Problem aufzuspüren, was in der ViewDidAppear-Methode von UITabBarController war, mir fehlte die Zeile: super.viewDidAppear (animiert). –

1

Für mich ist dieses seltsame Problem lösen war, der aufgrund folgenden Zeile nach der Implementierung von UISplitViewController

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
. 
. 
. 
    // splitViewController.preferredDisplayMode = .PrimaryOverlay 
. 
. 
. 
    } 

Durch das Kommentieren dieser Zeile in DidFinishLaunchingWithOptions Problem wurde behoben.

Verwandte Themen