iPhone - соедините UIView и суб UIViewController - PullRequest
0 голосов
/ 25 января 2011

Вот мой эксперимент:

1.Что я хотел бы сделать, так это управлять навигацией моего приложения вручную, поэтому я установил

[self.navigationController setNavigationBarHidden:YES];

2.Я создал MyFormControllerView, который на самом деле является формой контакта и будет использоваться для добавления и редактирования контактов.Теперь при добавлении контакта моя пользовательская панель навигации будет иметь другие кнопки, чем при редактировании, поэтому я создал также AddMyFormControllerView и EditMyFormControllerView.

3.Здесь идет самое интересное.Я хотел бы, чтобы из AddMyFormControllerView и EditMyFormControllerView отображался пользовательский заголовок (в данном случае некоторые кнопки), а ниже я бы хотел показать MyFormControllerView.

ВОПРОС: Я предполагаю, что мне следует подключить / включитьMyFormControllerView с / в другие контроллеры через UIViewController, но мне не повезло.Как мне это сделать?Обратите внимание, что я хотел бы как можно больше использовать Interface Builder.

И да ... Я знаю, что для этого не нужно иметь два дополнительных контроллера.Мой вопрос только в том, как я могу соединить представления вместе.

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 января 2011

Я не уверен, что полностью понимаю ваш вопрос, но вот что, я думаю, вы должны сделать.

Не используйте MyFormControllerView, а затем вставляйте другие контроллеры представления - это становится слишком грязным и добавляет ненужную сложность. Просто добавьте AddMyFormControllerView и EditMyFormControllerView, как если бы вы использовали UINavigationController, но в методе -viewWillAppear: контроллеров представления добавьте [self.navigationController setNavigationBarHidden:YES]; (как вы уже делаете). Все, что нужно, это скрыть панель навигации; все остальное в поведении контроллера навигации одинаково (за исключением, разумеется, того факта, что вы должны разрешить пользователю переключаться между представлениями, которые у вас с настраиваемым заголовком).

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

0 голосов
/ 25 января 2011

С MyFormControllerView вы можете нажать на EditMyFormControllerView, и вы можете представить модально AddMyFormControllerView.

К Push:

MyFormControllerView *mfcv = [[MyFormControllerView alloc] initWithNib:@"MyFormControllerView" bundle:nil];
[self.navigationController pushViewController:mfcv animated:YES];

К Present Modally:

EditMyFormControllerView *emfcv = [[EditMyFormControllerView alloc] initWithNib:@"EditMyFormControllerView" bundle:nil];
[self.navigationController presentModalViewController:emfcv animated:YES];
...