这个项目的初始视图控制器是一个导航控制器。我想在用户登录后稍后在视图层次结构中的视图控制器上显示选项卡栏控制器。
当我在视图控制器上嵌入一个 Tab Bar Controller 时,我希望它打开,我以编程方式实作的导航栏会被一个新的导航栏项目覆写,当按下时,引导用户回传登录页面。
这是导航栏的代码。
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
//Changes The Title Color
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor whiteColor] forKey:NSForegroundColorAttributeName]];
//Sets The Navigation Controller Font
[self.navigationController.navigationBar setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], NSForegroundColorAttributeName,
[UIFont fontWithName:@"ArialMT" size:12.0], NSFontAttributeName,nil]];
[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x0080ff)];
self.navigationController.navigationBar.translucent = YES;
self.navigationItem.leftBarButtonItem = btnRefresh;
//
self.navigationItem.rightBarButtonItem = btnCompose;
以下是导航栏在视图控制器上的实作方式:
当 Tab Bar Controller 嵌入我希望它在的 View Controller 中时,会发生以下情况:
在此视图控制器上显示标签栏控制器以保留现有导航栏的正确方法是什么?Apple 关于 Tab Bar Controllers 的档案似乎很广泛,似乎应该以编程方式实作。
uj5u.com热心网友回复:
根据 Apple 档案 TabBarController 不应该被推送到 UINavigationController。相反,您可以使用 UITabBar 和 UITabBarDelegate 来获得相同的效果。您可以参考以下档案链接。
https://developer.apple.com/documentation/uikit/uinavigationcontroller/1621887-pushviewcontroller
0 评论