【发布时间】:2015-04-22 18:07:00
【问题描述】:
我正在使用自定义演示控制器来制作类似于UIAlertView 的内容。我希望它在键盘显示时向上移动。在UIKeyboardWillShowNotification 处理程序中,我正在抓取新的键盘框架,将其存储在一个属性中,然后调用:
self.presentedView.frame = [wself frameOfPresentedViewInContainerView];
在我的-frameOfPresentedViewInContainerView 实现中,我考虑了当前的键盘高度。
这个效果很好,但是直接修改self.presentedView的框架感觉有点脏。我尝试使用setNeedsLayout 和layoutIfNeeded 的各种排列在容器视图上触发布局,但除了直接设置其框架之外,没有什么会导致呈现的视图移动。
有没有比自己改变框架更好的方法来做到这一点?
【问题讨论】:
-
您好 Zev,您的经理找到解决方案了吗?我正在尝试在按下按钮时更新我的presentedView的框架...这与您正在做的事情相似吗?
-
我没有找到更好的解决方案。只是坚持解决方法。您是否也在演示控制器中,或者只是在调整视图?
-
也在演示控制器中,我想在用户执行操作时调整框架。最终修改了presentView()?直接..感觉不对:)
-
同意。这将是一个很好的 WWDC 实验室问题。
-
更新:我仍然没有比这里描述的更好的解决方法。
标签: ios cocoa-touch uikit uipresentationcontroller