我认为我的头衔正是我想要的。所以,我有一个带有4个视图控制器的标签栏。我开始在故事板中配置我的应用程序,然后从那里配置我的标签栏控制器。我也在我的appdelegate文件中声明了视图控制器的名称。我的问题如下。我可以在标签栏控制器中间添加一个按钮吗?我搜索了很多关于这一点,我没有找到完整的解决方案。我可以使用storyboard将我的视图控制器连接到标签栏,还可以使用app委托将该按钮声明到标签栏的中心吗?请帮忙。到目前为止,这是我在代码委托文件中的代码(其他任何内容都在storyboard中,juts视图控制器连接到tabbarcontroller):
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
Assign tab bar item with titles
UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
tabBarController.selectedIndex = 1;
UITabBar *tabBar = tabBarController.tabBar;
UITabBarItem *tabBarItem1 = [tabBar.items objectAtIndex:0];
UITabBarItem *tabBarItem2 = [tabBar.items objectAtIndex:1];
UITabBarItem *tabBarItem3 = [tabBar.items objectAtIndex:3];
UITabBarItem *tabBarItem4 = [tabBar.items objectAtIndex:4];
tabBarItem1.title = @"Tab1";
tabBarItem2.title = @"Tab2";
tabBarItem3.title = @"Tab3";
tabBarItem4.title = @"Tab4";
[tabBarItem2 setFinishedSelectedImage:[UIImage imageNamed:@"maps_selected.png"] withFinishedUnselectedImage:[UIImage imageNamed:@"maps.png"]];
// Change the tab bar background
UIImage* tabBarBackground = [UIImage imageNamed:@"TAPBARBGR.png"];
[[UITabBar appearance] setBackgroundImage:tabBarBackground];
[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"tabbar_selected.png"]];
// Change the title color of tab bar items
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor], UITextAttributeTextColor,
nil] forState:UIControlStateNormal];
UIColor *titleHighlightedColor = [UIColor colorWithRed:153/255.0 green:192/255.0 blue:48/255.0 alpha:1.0];
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
titleHighlightedColor, UITextAttributeTextColor,
nil] forState:UIControlStateHighlighted];
return YES;
}
谢谢。
答案 0 :(得分:0)
如果您将4个页面连接到标准UITabbarController,它将布置4个按钮,平均分隔它们之间的空间。你无法控制他们的安排。您可以在故事板或代码中重新排列它们,但有4个按钮 - 中间没有按钮。
您可以添加第5个按钮并将其重新排列到第3个位置,因此这个按钮位于标签栏的中间。或者你可以寻找第三方自定义tabbar实现 - 在gitnub和其他地方有很多它们。其中一些将具有特定的中间页面,其风格与其他页面不同。
答案 1 :(得分:-2)
我可以在标签栏控制器的中间添加一个按钮吗?
否强>
假设您的意思是添加一个与其他标签栏项不同的按钮,那么不,UITabBar
不提供此功能。正如UITabBar documentation中所述,标签栏中的所有项目都应该是标签栏项目,但您可以考虑使用UIToolbar
:
标签栏中的每个按钮都称为标签栏项,是一个实例 UITabBarItem类。如果您想要给用户一个栏 每个执行操作的按钮,使用UIToolbar对象。
从用户体验的角度来看(IMO),尝试混合标签栏和工具栏功能可能不是一个好计划。