如何更改表单工作模式视图控制器的位置

时间:2011-10-03 23:25:42

标签: objective-c ios modalviewcontroller

如何更改表单工作模式视图控制器的位置?

默认情况下,它位于屏幕的中心,我想偏移表单位置,这样当我显示键盘时,它不会与表单页面窗口重叠。

这可能吗?

2 个答案:

答案 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呈现它,那么你必须接受你指定的类型(表单)的默认行为。每次都会在中心落地。所以你这样做的方式是不可能的。

然而,创建自己的视图并通过动画制作它来自己呈现它(以及执行一些工作来暗化/禁用位于下方的视图上的交互)是相对微不足道的,让您有能力将它放置在任何地方你想要的。

至于容纳键盘,我想我会考虑将你在表单视图中呈现的子视图滚动到适当的偏移量。

希望这有用。