在 Swift 中添加一个圆圈作为 UITabbarItem 上方的选择指示器

Add a circle as a selection indicator above UITabbarItem in Swift

提问人:Louiza A 提问时间:5/25/2023 更新时间:5/25/2023 访问量:45

问:

我想在 Swift 中向 UITabbarItem 添加一个选择指示器,如下图所示。

enter image description here

我尝试在下面编码,但我无法在UITabBar上方添加圆圈。

在 viewDidLoad 上:

 let tabBar = self.tabBarController!.tabBar
    tabBar.selectionIndicatorImage = UIImage().createSelectionIndicator(color: UIColor.red, size: CGSizeMake(tabBar.frame.width/CGFloat(tabBar.items!.count), tabBar.frame.height), lineWidth: 8.0)
extension UIImage {
    func createSelectionIndicator(color: UIColor, size: CGSize, lineWidth: CGFloat) -> UIImage {
        UIGraphicsBeginImageContextWithOptions(size, false, 0)
        color.setFill()
        let innerRect = CGRect(x: (size.width/2) - lineWidth/2,
                                    y: -2,
                                    width: lineWidth,
                                    height: lineWidth)

        let path = UIBezierPath(roundedRect: innerRect, cornerRadius: lineWidth/2)
        path.fill()

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image!
     }
}

你可以帮我吗?

swift uitabbar uitabbaritem

评论


答:

0赞 Supriyo Dey 5/25/2023 #1

我建议您为所选状态使用带有圆圈的不同图像。 如果您使用自定义大小的 SVG 图像,它会更好。 您可以从情节提要中更改它。

check the storyboard screenshot.

评论

0赞 Louiza A 5/25/2023
谢谢你的回答!但不幸的是,我必须遵循设计......