Добавление подпредставления в xcode скрывает остальную часть представления - PullRequest
1 голос
/ 23 марта 2011

Я хочу добавить подпредставление программно в мое представление, FirstViewController.xib.На данный момент это выглядит так:

enter image description here

Когда я нажимаю на кнопку «Создать», другой вид, SecondViewController.xib, появляется снизу.Панель навигации похожа на ту, что вы видите на картинке.

Нет Я хочу добавить подпредставление:

TTMessageController* controller = [[[TTMessageController alloc] 
                                 initWithRecipients:nil] autorelease];

[self.view addSubview:controller.view]

Однако я получаю странный результат.controller.view перекрывает боковую панель:

enter image description here

Как решить эту проблему, чтобы панель навигации была видимой.

Ответы [ 2 ]

3 голосов
/ 23 марта 2011

Добавление представления UIViewController (или подклассов) к другому UIView - это не то, как Apple рекомендует представлять представления контроллера представления - это означает, что такие вещи, как обнаружение изменения ориентации, могут работать неправильно и т. Д. Apple говорит, что у вас не должно быть больше один контроллер представления, отвечающий за любой «экран» контента.

Обычный способ представить взаимодействие стандартного почтового контроллера - это представить его так же, как обычный UIViewController (например, модально, добавление стека навигации и т. Д.), И я полагаю, что тот же совет относится и к Three20 составитель почты тоже.

Совет, который я даю в ответе, связан с:

iPhone, Obj-C, Как я могу использовать в электронном письме приложения нажатие кнопки на листе действий при использовании addSubview?

0 голосов
/ 23 марта 2011

Вам нужно нажать на рамку подпредставления вниз:

CGRect frame = controller.view.frame;
frame = CGRectMake(0, 40, frame.size.width, frame.size.height);
controller.view.frame = frame;

Приведенное выше значение 40 является значением y источника представления и должно быть скорректировано в соответствии с вашими потребностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...