【问题标题】:UIPopoverController callbalck for end of animation用于动画结束的 UIPopoverController 回调
【发布时间】:2017-06-07 06:03:09
【问题描述】:

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

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

目前我最终得到了 performSelectorAfterDelay,在 UIKeyboardDidHideNotification 的回调中调用,但这个解决方案看起来不太好。可能有人可以为我指出另一种方法吗?

【问题讨论】:

    标签: ios ipad animation uipopovercontroller


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!我错过了 viewDidLayoutSubviews() 将在完成视图动画到最终大小后调用。
    猜你喜欢
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-19
    • 2023-04-06
    • 2015-09-29
    • 2013-12-15
    相关资源
    最近更新 更多