gpt4 book ai didi

swift - 在 Swift 中将一行作为选择指示器添加到 UITabbarItem

转载 作者:IT王子 更新时间:2023-10-29 05:32:58 24 4
gpt4 key购买 nike

我想在 UITabbarItems 的底部使用一条粗线作为选择指示器。由于该应用程序必须在不同尺寸的手机上运行,​​我无法使用图像作为选择指示器。这就是为什么我认为我必须使用 Swift 来做到这一点。 (线必须是页面宽度的 1/3)。

我尝试使用 UITabBarItem.appearance() 但没有成功。

最佳答案

您可以通过添加将在您的代码中创建的自定义图像到 UITabBar 对象上的 selectionIndicatorImage 来实现。例如,您可以像这样为 UIImage 类创建 extension:

extension UIImage {
func createSelectionIndicator(color: UIColor, size: CGSize, lineWidth: CGFloat) -> UIImage {
UIGraphicsBeginImageContextWithOptions(size, false, 0)
color.setFill()
UIRectFill(CGRectMake(0, size.height - lineWidth, size.width, lineWidth))
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
}

然后在您第一次加载的 ViewController 中调用它,如下所示:

class FirstViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

let tabBar = self.tabBarController!.tabBar
tabBar.selectionIndicatorImage = UIImage().createSelectionIndicator(UIColor.blueColor(), size: CGSizeMake(tabBar.frame.width/CGFloat(tabBar.items!.count), tabBar.frame.height), lineWidth: 2.0)
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

在这种情况下结果将是这样的:

enter image description here

关于swift - 在 Swift 中将一行作为选择指示器添加到 UITabbarItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667481/

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