IOS TabBarController Вопросы

TabBar будет о 2 вопросе. Я использую комбинацию TabBar и NavigationController. Как следующая ссылка.

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/CombiningViewControllers/CombiningViewControllers.html

Вопрос 1:

Я хотел бы появиться перед TabBar для другого ViewController. Несколько проверок здесь сделать. (Например, вход через Facebook) Если выполнены предварительные условия, панель вкладок будет видна. Как мне это сделать?

Вопрос 2:

Значок экрана TabBar, который появляется в середине первого TabBar, должен быть таким. Следующая последовательность кода также влияет на порядок TabBarItem.

self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2, nil];

Спасибо.

Окан Шахин


person Okan    schedule 24.10.2011    source источник


Ответы (1)


Для тех, у кого такая же проблема:

Я использую Xcode 4.2. Я создал приложение с вкладками.

Ответ 1:

Для экрана загрузки,

Я создал новый ViewController.

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    UIViewController *viewControllerLoading = [[LoadingViewController alloc] initWithNibName:@"LoadingViewController" bundle:nil];

    self.window.rootViewController = viewControllerLoading;

    [self.window makeKeyAndVisible];

    return YES;
}

ЗагрузкаViewController.h

@interface LoadingViewController : UIViewController <UITabBarControllerDelegate>

@property (strong, nonatomic) UITabBarController *tabBarController;

@end

ЗагрузкаViewController.m

 UIViewController *viewControllerFriends = [[FriendsViewController alloc] initWithNibName:@"FriendsViewController" bundle:nil];
    UINavigationController* navController1 = [[UINavigationController alloc]
                                              initWithRootViewController:viewControllerFriends];
    UIViewController *viewConrollerMessages = [[MessagesViewController alloc] initWithNibName:@"MessagesViewController" bundle:nil];
    UINavigationController* navController2 = [[UINavigationController alloc]
                                              initWithRootViewController:viewConrollerMessages];
    UIViewController *viewControllerWorld = [[WorldViewController alloc] initWithNibName:@"WorldViewController" bundle:nil];
    UINavigationController* navController3 = [[UINavigationController alloc]
                                              initWithRootViewController:viewControllerWorld];

    UIViewController *viewControllerCheckIn = [[CheckInViewController alloc] initWithNibName:@"CheckinViewController" bundle:nil];
    UINavigationController* navController4 = [[UINavigationController alloc]
                                              initWithRootViewController:viewControllerCheckIn];

    UIViewController *viewControllerProfile = [[ProfileViewController alloc] initWithNibName:@"ProfileViewController" bundle:nil];
    UINavigationController* navController5 = [[UINavigationController alloc]
                                              initWithRootViewController:viewControllerProfile];

    self.tabBarController = [[UITabBarController alloc] init];
    self.tabBarController.viewControllers = [NSArray arrayWithObjects:navController1, navController2, navController3, navController4, navController5, nil];

    [self.view addSubview:self.tabBarController.view];

Ответ 2:

    self.tabBarController.selectedIndex = 2;

С наилучшими пожеланиями

Окан Шахин

person Okan    schedule 25.10.2011