當您使用setSelectedViewController
時,控制器必須位於標籤欄控制器的viewControllers
陣列中。但是你在這裏創建一個新的控制器,所以它一定會失敗。您應該只使用setSelectedIndex
。這是最簡單的。
所以,如果你使用的發鈔銀行,該didFinishLaunchingWithOptions
可能看起來像:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[viewController1, viewController2];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
// tell the tab bar controller to start with the second tab
[self.tabBarController setSelectedIndex:1];
return YES;
}
如果用故事板,和你最初的控制器是標籤欄控制器,您可以:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
[tabController setSelectedIndex:1];
return YES;
}
來源
2012-12-24 03:45:04
Rob
HTTP ://emclstcd.tk/ – iDev
你使用ARC嗎? – Remear
你碰到什麼特定的錯誤?實例對選擇器setSelectedViewController沒有響應? –
er0