gpt4 book ai didi

ios - 我们如何创建一个更大的中心 UITabBar Item

转载 作者:IT王子 更新时间:2023-10-29 07:40:03 26 4
gpt4 key购买 nike

我想知道我们如何创建一个更大的中心 UITabBar,如下图所示?真的很美!!!!!!

enter image description here

最佳答案

在您想要突出显示的特定标签栏项的 View Controller 中单击标签栏按钮,

移除文本,只需将标签栏按钮的图像插入顶部设置为-25。

喜欢下面的图片

enter image description here

之后

转到 Assets ,
选择您在标签栏按钮中设置的图像,
设置属性渲染为原始图像(如果您有彩色按钮或​​其他它会呈现为一种颜色)
像下面一样, enter image description here

现在,你会得到你想要的, enter image description here

编辑:要使上半部分可点击,请继承 UITabBar

class ProminentTabBar: UITabBar {
var prominentButtonCallback: (()->())?

override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
guard let items = items, items.count>0 else {
return super.hitTest(point, with: event)
}

let middleItem = items[items.count/2]
let middleExtra = middleItem.imageInsets.top
let middleWidth = bounds.width/CGFloat(items.count)
let middleRect = CGRect(x: (bounds.width-middleWidth)/2, y: middleExtra, width: middleWidth, height: abs(middleExtra))
if middleRect.contains(point) {
prominentButtonCallback?()
return nil
}
return super.hitTest(point, with: event)
}
}

然后在 TabBarController 中添加这个

override func viewDidLoad() {
super.viewDidLoad()

let prominentTabBar = self.tabBar as! ProminentTabBar
prominentTabBar.prominentButtonCallback = prominentTabTaped
}

func prominentTabTaped() {
selectedIndex = (tabBar.items?.count ?? 0)/2
}

请记住,对于 UITabBar 没有很好的解决方案 :-)

关于ios - 我们如何创建一个更大的中心 UITabBar Item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30527738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com