UIPopoverController更改它的大小然后显示键盘,并将其更改回来然后隐藏键盘以横向显示。我需要在弹出窗口恢复原始大小时执行一些操作,所以我在弹出窗口调整大小动画结束时寻找回调。
我已经尝试抓住键盘隐藏的通知,但这没有帮助 - 弹出窗口在键盘隐藏后将其大小改为。我也试过 将动画委托设置为UIView,但看起来这只适用于自定义动画。
目前我最终使用performSelectorAfterDelay,在UIKeyboardDidHideNotification的回调中调用,但此解决方案看起来不太好。可能有人可以指点我另一种方法吗?
答案 0 :(得分:0)
如果您为UIView
提供自定义UIPopoverController
,则可以在UIView
中覆盖几个不同的布局函数:viewWillLayoutSubviews()
和viewDidLayoutSubviews()
。< / p>
如果您使用默认视图,则可以利用KVO监听视图bounds
的更改。
addObserver(popoverController.contentViewControler.view, forKeyPath: "bounds", options: NSKeyValueObservingOptions.New, context: nil)