UIPopoverController用于结束动画的callbalck

时间:2017-01-22 18:00:21

标签: ios ipad animation uipopovercontroller

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

我已经尝试抓住键盘隐藏的通知,但这没有帮助 - 弹出窗口在键盘隐藏后将其大小改为。我也试过 将动画委托设置为UIView,但看起来这只适用于自定义动画。

目前我最终使用performSelectorAfterDelay,在UIKeyboardDidHideNotification的回调中调用,但此解决方案看起来不太好。可能有人可以指点我另一种方法吗?

1 个答案:

答案 0 :(得分:0)

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

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

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