带有导航控制器和UIBarButtonitem的标签栏应用程序

时间:2015-03-03 08:16:58

标签: ios objective-c uinavigationcontroller uitabbarcontroller uinavigationbar

我创建了一个小的选项卡式应用程序,并向该tabBar添加了5个viewControllers。我在该标签栏中添加了一个NavigationController。我的问题是我无法将BarButtons添加到navigationBar。我正在使用StoryBoard。

案例-1

在FirstViewCountroller.m

- (void)viewDidLoad {
    [super viewDidLoad];
   UIBarButtonItem *editBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemEdit target:self action:@selector(editAction)];
    self.navigationItem.leftBarButtonItem = editBarButtonItem;
    // Do any additional setup after loading the view, typically from a nib.
}

在这种情况下,我没有获得条形按钮,而是获取tabBar和navigationBar

案例-2

我尝试了另一种方式..修改了我的一些代码

在 的 Appdelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
    FirstViewController *ivc = [storyboard instantiateViewControllerWithIdentifier:@"LoginView"];
    UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:ivc];
    self.window.rootViewController =nil;
    self.window.rootViewController = navigationController;
    [self.window makeKeyAndVisible];

    return YES;
}

在这种情况下,我得到了barbutton和navigationBar,但我没有得到tabBar。

任何人帮助我。提前致谢

1 个答案:

答案 0 :(得分:-1)

您在AppDelegate.m中编写的代码不正确。你必须使TabBarController成为“InitialViewController”。 你在故事板中而不是从代码中做得更好。 以下是截图。

首先取一个UITabBarController并使其成为初始视图控制器:

enter image description here

然后拿一个UINavigationController并为UITabBarController创建rootViewController(像这样):

enter image description here

和此:

enter image description here

为你的UINavigationController做一个UIViewController(就像这样):

enter image description here

和此:

enter image description here

在添加更多内容之后,您将在故事板中得到类似的内容:

enter image description here

现在您可以根据需要使用任意数量的控制器。

现在您可以在UINavigationBar中添加UIBarButton。

希望这会有所帮助。谢谢欢呼。