Как изменить положение формы листа контроллера модального вида - PullRequest
5 голосов
/ 04 октября 2011

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

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

Возможно ли это?

Ответы [ 2 ]

7 голосов
/ 11 января 2012

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

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

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

3 голосов
/ 04 октября 2011

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

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

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

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

...