Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何更改表单模态视图控制器的位置_Objective C_Ios_Modalviewcontroller - Fatal编程技术网

Objective c 如何更改表单模态视图控制器的位置

Objective c 如何更改表单模态视图控制器的位置,objective-c,ios,modalviewcontroller,Objective C,Ios,Modalviewcontroller,如何更改表单模态视图控制器的位置 默认情况下,它位于屏幕中央,我希望偏移表单位置,以便在显示键盘时不会与表单窗口重叠 这可能吗?如果使用UIViewController并使用presentModalViewController显示它,则必须接受指定类型(表单)的默认行为。每次都会在中心广场降落。所以你这样做是不可能的 但是,创建自己的视图并通过设置视图的进出动画(并执行一些工作来加深/禁用位于下方的视图上的交互),从而使您能够将其放置在任何您想要的位置,这相对来说比较简单 至于调整键盘,我想我会

如何更改表单模态视图控制器的位置

默认情况下,它位于屏幕中央,我希望偏移表单位置,以便在显示键盘时不会与表单窗口重叠


这可能吗?

如果使用UIViewController并使用presentModalViewController显示它,则必须接受指定类型(表单)的默认行为。每次都会在中心广场降落。所以你这样做是不可能的

但是,创建自己的视图并通过设置视图的进出动画(并执行一些工作来加深/禁用位于下方的视图上的交互),从而使您能够将其放置在任何您想要的位置,这相对来说比较简单

至于调整键盘,我想我会考虑将窗体视图中呈现的子视图滚动到适当的偏移量。


希望这有帮助。

您可以修改父控制器的框架。 比如:

CGRect frame = self.parentViewController.view.frame;
frame.origin.x -= 50;
frame.origin.y -= 50;
self.parentViewController.view.frame = frame;
这将使模态视图的位置移动(-50,-50)