gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 11:35:02 25 4
gpt4 key购买 nike

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

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

最佳答案

您可以通过将在代码中创建的自定义图像添加到 UITabBar 对象上的 selectionIndicatorImage 来实现此目的。例如,您可以为 UIImage 类创建扩展,如下所示:

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/49853633/

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