我正在使用自定义演示控制器来制作类似于UIAlertView
. 我希望它在键盘显示时向上移动。在UIKeyboardWillShowNotification
处理程序中,我抓取了新的键盘框架,将其存储在一个属性中,然后调用:
self.presentedView.frame = [wself frameOfPresentedViewInContainerView];
在我的实现中-frameOfPresentedViewInContainerView
,我考虑了当前的键盘高度。
这工作完美,但直接修改框架感觉有点脏self.presentedView
。setNeedsLayout
我尝试使用和的各种排列在容器视图上触发布局layoutIfNeeded
,但除了直接设置其框架之外,没有什么会导致呈现的视图移动。
有没有比自己改变框架更好的方法来做到这一点?