Нужно создать UINavigationView или UITableView в существующем UITabBarController - PullRequest
0 голосов
/ 20 декабря 2011

Поэтому я использовал шаблон приложения UITabBarController для создания приложения, и я нахожусь в ситуации, которую я не могу решить.Я пытаюсь создать свой последний вид (экземпляр viewcontroller4 с классом FourthViewController), чтобы он фактически представлял собой UITableViewController / UITableView / или UINavigationController.Я не могу точно сказать, какой из них будет лучшим для того, что мне нужно.

По сути, это должен быть информационный экран с табличным представлением, чтобы вы могли нажать на ячейку и выбрать другое представление (Настройки, О приложении,Помощь, электронная почта для поддержки).Любые идеи о том, как это сделать?Я попытался заменить UINavigation контроллер для UIViewController в списке (viewcontroller4).

ниже мой код appdelegate.m для справки:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *viewController1, *viewController2, *viewController3, *viewController4;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPhone" bundle:nil];
    viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPhone" bundle:nil];
    viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPhone" bundle:nil];
    viewController4 = [[FourthViewController alloc] initWithNibName:@"FourthViewController_iPhone" bundle:nil];
} else {
    viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController_iPad" bundle:nil];
    viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController_iPad" bundle:nil];
    viewController3 = [[ThirdViewController alloc] initWithNibName:@"ThirdViewController_iPad" bundle:nil];
    viewController4 = [[FourthViewController alloc] initWithNibName:@"FourthViewController_iPad" bundle:nil];
}
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, viewController4, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;}

1 Ответ

1 голос
/ 20 декабря 2011

Не уверен, как вы пытались создать UINavigationController, но он будет работать нормально. После создания ваших viewControllers сделайте следующее:

UINavigationController *navController = [[UINaviagtionController alloc] initWithRootViewController:viewController4];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, navController, nil];
// rest of your code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...