Storyboard navigation controller and tab bar controller

后端 未结 5 1275
情歌与酒
情歌与酒 2020-12-08 11:12

I am trying to get the following setup in Storyboard.

\"Storyboard\"

Where I have a table view in the b

5条回答
  •  孤街浪徒
    2020-12-08 11:35

    For changing the UINavigationBar title (with no need to create 2 other UINavigationController) you can just use

    [self.parentViewController.navigationItem setTitle:@"Title"];
    

    and for adding the right button use

    self.parentViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(myRightButton)];
    

    on viewDidLoad method for each UIViewController referenced from your UITabBarController.

    If you want to work with "navigation structures" inside your UIViewController from TabItems so you could edit your BUFViewController.m to that:

    #import "BUFViewController.h"
    
    @interface BUFViewController ()
    
    @end
    
    @implementation BUFViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        [self.parentViewController.navigationController setNavigationBarHidden:YES];
        self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
    }
    
    -(void)done{
        [self.parentViewController.navigationController popToRootViewControllerAnimated:YES];
    }
    
    - (void)didReceiveMemoryWarning
    {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    

    You have to think as your UITabBarController is inside your parent NavigationController, so you want to hide the parent UINavigationBar and show yours. After that, you'll be able to back to your table using popToRootViewControllerAnimated: on the parent's UINavigationController.

    Hope that helps :)

提交回复
热议问题