Показаны два UIViewController одновременно - PullRequest
0 голосов
/ 13 марта 2012

У меня есть два UIViewController, которые мне иногда нужно показывать одновременно. Представьте, что ViewController A имеет только одну кнопку и является прозрачным. После того, как я коснусь кнопки, я бы хотел, чтобы ViewController B (зеленого цвета) постепенно появлялся и выполнял другие пользовательские анимации, но ViewController A (и кнопка) должен по-прежнему отображаться поверх B. После того, как исчезают / анимация и т. Д. более, виден только ViewController B (зеленый).

Мои вопросы:

1) Какая настройка лучше? UINavigationController со скрытым NavBar не имеет особого смысла. TabBarController со скрытым TabBar кажется мне таким же странным, поскольку мне не нужен TabBar. 2) Я немного запутался в взглядах и окнах. Окно инициируется в моем AppDelegate, а затем я бы добавил RootViewController:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[ViewController alloc] init];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];

Если я хочу иметь два вида ViewController друг на друга, как описано выше, нужно ли мне добавлять вид ViewController B (зеленый) в ViewController A (тот, что с кнопкой)? Нужно ли менять местами rootViewControllers?

В идеале, я не хочу заботиться обо всех ViewDidAppear для VC A и B, поэтому я предполагаю, что UINavigationController / TabBar, в конце концов, не будет плохой идеей, если я смогу настроить переходы между контроллерами.


Edit:

Мне действительно нужны два разных VC, так как я хотел бы сделать более сложные вещи, чем просто отобразить кнопку, например, иметь представление прокрутки в VC A и другое представление прокрутки в VC B. Я не хочу иметь два просмотра прокрутки (или tableViews и т. Д. ) в одном VC, поскольку это становится грязным.

1 Ответ

1 голос
/ 13 марта 2012

Лучший способ - иметь только один контроллер вида. Представление A будет просто сидеть на вершине B, пока вы не исчезнете.

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