2017-01-22 65 views
1

UIPopoverController更改其大小,然後將鍵盤顯示出來並將其改回,然後隱藏鍵盤以獲取橫向。當彈出恢復原始大小時,我需要執行一些操作,所以我正在尋找彈出窗口大小調整結束動畫的回調。用於動畫結束的UIPopoverController callbalck

我已經試圖抓住通知鍵盤被隱藏,但是這並不能幫助 - 彈出改變它的大小鍵盤被隱藏。我還試圖將 設置爲UIView的動畫委託,但看起來像這隻適用於自定義動畫。

目前我最終得到了performSelectorAfterDelay,在UIKeyboardDidHideNotification的callback處調用,但是這個解決方案看起來不太好。可能有人可以指點我另一種方法?

回答

0

如果要爲UIPopoverController提供自定義UIView,您可以在UIView覆蓋幾個不同的排版功能:viewWillLayoutSubviews()viewDidLayoutSubviews()

如果您使用的是默認視圖,則可以利用KVO來偵聽對視圖bounds的更改。

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

+0

Thanks!我錯過了viewDidLayoutSubviews()將完成視圖動畫到最終大小後調用。 – egor

+0

不客氣! – raidfive