UIPopoverController 动画结束回调

UIPopoverController callbalck for end of animation

UIPopoverController 改变它的大小然后显示键盘,然后改变它然后键盘隐藏横向。当弹出窗口恢复其原始大小时,我需要执行一些操作,因此我正在寻找弹出窗口调整大小动画结束时的回调。

我已经尝试捕捉键盘被隐藏的通知,但这无济于事 - 弹出窗口更改它的大小 键盘被隐藏之后。我也试过 将动画委托设置为 UIView,但看起来这仅适用于自定义动画。

目前我以 performSelectorAfterDelay 结束,在 UIKeyboardDidHideNotification 的回调中调用,但这个解决方案看起来不太好。也许有人可以指出我的另一种方法?

如果您为 UIPopoverController 提供自定义 UIView,您可以在 UIView 中覆盖几个不同的布局函数:viewWillLayoutSubviews()viewDidLayoutSubviews() .

如果您使用的是默认视图,则可以利用 KVO 来监听视图的更改 bounds

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