1

有没有办法让我可以增加单个选项卡(UITabbarItem)的高度,保持 UITabBar 中的其余选项卡具有相同的高度。

4

4 回答 4

5

我只是猜测您正在尝试拥有一个 instagram(以前的 instagram)或类似界面的界面,其中一个 tabBarItems 比其他的要大得多。

你有两个选择。

  1. 创建一个 customTabBar ,其中一个项目要大得多。(我不会推荐这个

  2. 只需保持现有的 tabBarItems 不变。没有必要定制一个。您只需创建UIButton具有所需高度和形状的 a 并将其添加到您的 tabBarItem 顶部。

然后我们的工作归结为创建 UITabBarController 的子类并在 UITabBar 顶部添加自定义 UIButton。

UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
[button setBackgroundImage:buttonImage forState:UIControlStateNormal];
[button setBackgroundImage:highlightImage forState:UIControlStateHighlighted];

CGFloat heightDifference = buttonImage.size.height - self.tabBar.frame.size.height;
if (heightDifference < 0)
    button.center = self.tabBar.center;
else
{
    CGPoint center = self.tabBar.center;
    center.y = center.y - heightDifference/2.0;
    button.center = center;
}

[self.view addSubview:button];
于 2012-09-28T05:09:31.440 回答
1

根据我的经验,您必须扩展 UITabBar 类,并且在初始化 UITabBarItems 时,相应地设置它们的高度。此外,为您的 UITabBar 创建一个背景图像。

于 2012-09-28T05:07:33.970 回答
1

您可以使用 customTabBar,在这里您可以获取它的示例,它的好类,您可以根据您的大小设置 tabBar 项目。

关联

于 2012-09-28T06:20:27.327 回答
1

在 Swift 2.0 中,您可以拥有一个 UITabBarController 的子类并使用以下代码添加 UIButton:

let button: UIButton = UIButton(type: UIButtonType.Custom)
button.backgroundColor = UIColor.clearColor()
let buttonImage: UIImage = UIImage(named: "logo")!
let buttonImageHighlighted: UIImage = UIImage(named: "logoHighlighted")!
button.frame = CGRectMake(0.0, 0.0, buttonImage.size.width, buttonImage.size.height);
button.setBackgroundImage(buttonImage, forState: UIControlState.Normal)
button.setBackgroundImage(buttonImageHighlighted, forState: UIControlState.Highlighted)

let heightDifference:CGFloat = buttonImage.size.height - self.tabBar.frame.size.height;
if (heightDifference < 0) {
    button.center = self.tabBar.center;
} else {
    var center: CGPoint = self.tabBar.center;
    center.y = center.y - heightDifference/2.0;
    button.center = center;
}

self.view.addSubview(button)
于 2015-12-10T21:38:54.223 回答