如何更改表单工作模式视图控制器的位置?
默认情况下,它位于屏幕的中心,我想偏移表单位置,这样当我显示键盘时,它不会与表单页面窗口重叠。
这可能吗?
答案 0 :(得分:7)
您可以修改父控制器的框架。 类似的东西:
CGRect frame = self.parentViewController.view.frame;
frame.origin.x -= 50;
frame.origin.y -= 50;
self.parentViewController.view.frame = frame;
这会将模态视图的位置移动(-50,-50)
答案 1 :(得分:3)
如果你正在使用UIViewController并使用presentModalViewController呈现它,那么你必须接受你指定的类型(表单)的默认行为。每次都会在中心落地。所以你这样做的方式是不可能的。
然而,创建自己的视图并通过动画制作它来自己呈现它(以及执行一些工作来暗化/禁用位于下方的视图上的交互)是相对微不足道的,让您有能力将它放置在任何地方你想要的。
至于容纳键盘,我想我会考虑将你在表单视图中呈现的子视图滚动到适当的偏移量。
希望这有用。