Как изменить положение контроллера модального представления листа формы

Как можно изменить положение контроллера модального представления листа формы?

По умолчанию он расположен в центре экрана, я хотел бы сместить положение листа формы, чтобы при отображении клавиатуры он не перекрывал окно листа формы.

Это возможно?


person Dan    schedule 03.10.2011    source источник


Ответы (2)


Если вы используете UIViewController и представляете его с помощью presentModalViewController, вы должны принять поведение по умолчанию для указанного вами типа (формы). Это будет приземляться квадратом в центре каждый раз. Таким образом, как вы это делаете, это невозможно.

Тем не менее, было бы относительно просто создать свой собственный вид и представить его самостоятельно, анимируя его (и выполняя некоторую работу, чтобы затемнить/отключить взаимодействие с представлениями, расположенными ниже), что дает вам возможность разместить его там, где вы хотите.

Что касается размещения клавиатуры, я полагаю, что рассмотрю возможность прокрутки подпредставления, которое вы представляете в представлении формы, до соответствующего смещения.

Надеюсь, это полезно.

person isaac    schedule 04.10.2011

Вы можете изменить фрейм родительского контроллера. что-то типа:

CGRect frame = self.parentViewController.view.frame;
frame.origin.x -= 50;
frame.origin.y -= 50;
self.parentViewController.view.frame = frame;

это изменит положение вашего модального представления на (-50,-50)

person jyavenard    schedule 11.01.2012