POWVIEW от UitabbarController внутри UinavigatingController
-
03-10-2019 - |
Вопрос
Я создаю приложение на основе шаблона утилиты от Xcode, к которому я добавил еще несколько просмотров. Моя структура приложений будет следующим:
Mainview (меню приложения)
Вид сбоку (калькулятор)
UinavightController
Настройки Просмотр
ViewDidload: UitabbarController
- Tab1 view (options) - Tab2 view (information text)
Я могу правильно перемещаться от моего Mainview на мой вид сбоку, который также является корневым видом на навигационно-контроллер. С моего вида сбоку сбоку я нажимаю второй вид моего контроллера навигации (просмотр настроек), который настроен для отображения для отображения UITABBABONTROLLER, с двумя вкладками, как только он загружается (с ViewDidload).
Если я удаляю UITabbarController, я могу вернуться без проблем на мой вид сбоку с использованием «PopviewController» с моих настроек. Проблема наступает, если я загружу UITABBABONTROLLER в ViewDidload в моих настройках ... вкладки отлично работают, но я не могу вернуться на мой вид сбоку (корневой вид навигационного контроллера).
Я могу вернуться, если я использую панель навигации навигационного контроллера, но я хочу настроить мои собственные кнопки и иметь скрытую панель навигации.
Пока я попробовал следующие методы:
Self.navigatingController popviewcontrollerranimated: да];
Self.navigingController poptorootviewcontrolleranimated: да];
Self.navigationController PoptoviewController: FlipsideViewController Animated: Да];
Но они не работают. Первые два просто ничего не делают (экран остается как оно был), и третий не распознает «FlipsideViewController» (может быть, потому что это делегат MainViewController?).
Есть ли способ проверить, что именно делает кнопку «Назад» на навигационной панели, если я его активирую?
Я должен использовать делегаты?
Могу ли я вызвать метод PopviewController в моих настройках вид с любой из двух видов вкладок?
Это мой вид сбоку:
- (IBAction)showSettingsView {
SettingsViewController *controller = [[SettingsViewController alloc] initWithNibName:@"SettingsView" bundle:nil];
controller.title = @"Settings";
[self.navigationController pushViewController:controller animated:YES];
[controller release];
}
Это мои настройки вид:
- (void)viewDidLoad {
[super viewDidLoad];
tabBarController = [[UITabBarController alloc] init];
Tab1ViewController* vc1 = [[Tab1ViewController alloc] init];
Tab2ViewController* vc2 = [[Tab2ViewController alloc] init];
NSArray* controllers = [NSArray arrayWithObjects:vc1, vc2, nil];
tabBarController.viewControllers = controllers;
[self.view addSubview:tabBarController.view];
}
И метод возврата в одну из просмотров вкладок:
- (IBAction)backFromTab1View {
[self.navigationController popToViewController:FlipSideViewController animated:YES];
}
Большое спасибо и извините, если вопрос слишком простой!
Решение
На самом деле я решил проблему, создавая свой собственный UinavIgintBar в представлении настроек и использование:
[self.view insertSubview:tabBarController.view belowSubview:myNavigationBar];
Это вставляет остаток вида под панелью навигации, и я все еще могу использовать его, чтобы настроить кнопку, которая появляется вид и возврат к предыдущему экрану.
Мне потребовалось некоторое время, чтобы понять различия между «AddsubView» и «InsersubvView + Belowsubview». Извини за это!