开发者

iPhone - UIButton to select tab in different view

开发者 https://www.devze.com 2023-01-11 19:11 出处:网络
Fairly new to iPhone app development, so this might be really obvious (if so, apologies in advance!) I\'m building an app which has a tab bar. However, when the app first runs and \'launch screen\' i

Fairly new to iPhone app development, so this might be really obvious (if so, apologies in advance!)

I'm building an app which has a tab bar. However, when the app first runs and 'launch screen' is shown with 3 UIButtons - each of these buttons points at a view of one of the tabs. What I need to do is:

Close the existing view Open the selected view Set the highlighted tab accordingly

This sounds like it should be quite easy, but a few hours of Googling has found nothing!

Thanks for your help, Kev

Additional:

Sorry - I am using a tabBarController... But instead of immediately launching the tab bar views I'm using the code below to launch the home menu instead.

- (BOOL)application:(UIApplication *)application didFi开发者_如何学编程nishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    homeViewController *splashView = [[homeViewController alloc] initWithNibName:@"homeView" bundle:nil];
    [window addSubview:splashView.view];


//  [window addSubview:tabBarController.view];
    [window makeKeyAndVisible];

    return YES;
}

On the home menu there are UIButtons which need to link to individual tabs... Hope this clarifies...

Cheers!


Oh. Then it gets a bit more complex. What you want to do is basically this:

  1. Add a method to your AppDelegate - (void)showTabBarWithSelectedTab:(NSUInteger)tabIndex. In this method, use tabBarController.selectedIndex to select the correct index, then remove homeViewController's view from the window and add tabBarController's view instead.
  2. In homeViewController, have actions for the buttons that calls the newly created AppDelegate method with the correct tab index.

Generally I would say that this adds a bit too much logic to the AppDelegate. Ideally you'd implement this in a new view controller, surrounding and managing both homeViewController and tabBarController. However, having a UITabbarController inside of another view controller isn't officially supported - although you can get it to work anyway.


it's a bit hard to fully understand your question, but it sounds like you should be using UITabBarController instead of the stand-alone view UITabbar. This is essential reading! Good luck

0

精彩评论

暂无评论...
验证码 换一张
取 消