2

我创建了一个基于选项卡的应用程序,它有 5 个选项卡。

我希望第三个标签栏项目的高度比所有其他标签都高。

这第三个标签栏项目的大小将始终大于其他标签。

如何在基于选项卡的应用程序中执行此操作?没有自定义标签栏是否可能?

请帮忙

提前致谢

4

1 回答 1

9

您可以通过覆盖自定义视图或按钮轻松实现此效果。这是我在应用程序中为实现此效果所做的工作(如下所示)。我不相信没有额外的子视图就可以做到这一点。

UIButton *middleButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[middleButton addTarget:self action:@selector(tappedMiddleButton:) forControlEvents:UIControlEventTouchUpInside];

CGRect frame;
frame.size.height = 54;
frame.size.width = 72;
frame.origin.x = ceil(0.5 * (tabBarController.view.bounds.size.width - frame.size.width));
frame.origin.y = tabBarController.tabBar.bounds.size.height - frame.size.height;
[middleButton setFrame:frame];

[[tabBarController tabBar] addSubview:middleButton];

然后你可以有你的方法被称为:

-(void)tappedMiddleButton:(id)sender {

}

在该方法内部,您可以设置选项卡栏的选定索引:

[tabBarController setSelectedIndex:2];
于 2013-02-04T00:57:07.057 回答