2017-01-22 1 views
1

UIPopoverController ändert seine Größe dann Tastatur angezeigt wird, und ändern Sie dann zurück Tastatur im Querformat ausgeblendet ist. Ich muss einige Aktionen ausführen, wenn das Popup die Originalgröße wiederherstellt. Daher suche ich nach einem Rückruf am Ende der Popup-Größenanimation.UIPopoverController callbalck für Ende der Animation

Ich habe bereits versucht, Benachrichtigung zu bekommen, dass die Tastatur ausgeblendet ist, aber das hilft nicht - Popup ändern Sie es Größe nach Tastatur werden ausgeblendet. Ich habe auch versucht, Animationsdelegat auf UIView festlegen, aber sieht aus wie dies nur für benutzerdefinierte Animationen funktioniert.

Derzeit habe ich am Ende mit performSelectorAfterDelay up, bei Rückruf für UIKeyboardDidHideNotification genannt, aber diese Lösung nicht schön aussieht. Kann mir jemand einen anderen Ansatz geben?

Antwort

0

Wenn Sie eine benutzerdefinierte UIView für UIPopoverController bereitstellen, können Sie ein paar verschiedene Layout-Funktionen in UIView außer Kraft setzen: viewWillLayoutSubviews() und viewDidLayoutSubviews().

Wenn Sie die Standardansicht verwenden, können Sie KVO nutzen für Änderungen an den Ansichten bounds zu hören.

addObserver(popoverController.contentViewControler.view, forKeyPath: "bounds", options: NSKeyValueObservingOptions.New, context: nil)

+0

Vielen Dank! Ich habe diese Ansicht verpasstDidLayoutSubviews() wird aufgerufen, nachdem die Ansichtsanimation auf die endgültige Größe abgeschlossen wurde. – egor

+0

Gern geschehen! – raidfive

Verwandte Themen