提问人:Aleesha 提问时间:11/2/2020 更新时间:5/13/2021 访问量:1149
使用圆形按钮自定义标签栏 发布 swift
Customise Tab Bar with rounded button Issue swift
问:
我一直在自定义中间带有圆角按钮的标签栏,并设置了拐角半径曲线,我在故事板中设置如下,
我已经将图像渲染为原始图像,但我的问题是当我在模拟器中运行时,圆圈的上半部分丢失了,如图所示,
我已经为 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 项
有没有人对此有解决方案>?
答:
0赞
Krishna Raj Salim
5/13/2021
#1
做
tabbar.clipsToBounds = false
您可以通过代码或在 StoryBoard 中更改它
继续编码........ :)
评论