gpt4 book ai didi

ios - UINavigationBar 和 UISearchBar 上的颜色不匹配

转载 作者:搜寻专家 更新时间:2023-11-01 06:37:06 25 4
gpt4 key购买 nike

很简单,我在制作完全彩色的导航栏和搜索栏时遇到了问题。 这些元素都不是透明的。这是屏幕截图和相关代码。

enter image description here

相关代码:

    super.viewDidLoad()
self.navigationController?.isNavigationBarHidden = false

let navigationBar = navigationController!.navigationBar

navigationBar.isTranslucent = false

let rect = CGRect(origin: CGPoint(x: 0, y:0), size: CGSize(width: 1, height: 1))
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()!
context.setFillColor(UIColor(red: 86.0/255.0, green: 200.0/255.0, blue: 246.0/255.0, alpha: 1.0).cgColor)
context.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
navigationBar.setBackgroundImage(image, for: UIBarMetrics.default)

navigationBar.shadowImage = UIImage()

searchBar.layer.borderWidth = 1
searchBar.layer.borderColor = UIColor(red: 86.0/255.0, green: 200.0/255.0, blue: 246.0/255.0, alpha: 1.0).cgColor



tblFriends.delegate = self
tblFriends.dataSource = self

tblFriends.register(UINib(nibName: "FriendCell", bundle: nil), forCellReuseIdentifier: "FriendCell")

我正在手动设置导航栏的背景图像,以移除两个元素之间的 shadowImage。

有问题的颜色应该是 86,200,246。但这两个元素都不是那个,而且两者都不匹配。同样,这两个元素都不是透明的。怎么回事?

最佳答案

我结合了 Joe 的代码和我自己的代码,为 iOS 10 提出了一个可行的解决方案。

let rect = CGRect(origin: CGPoint(x: 0, y:0), size: CGSize(width: 1, height: 1))
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()!
context.setFillColor(UIColor(red: 86.0/255.0, green: 200.0/255.0, blue: 246.0/255.0, alpha: 1.0).cgColor)
context.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

//To change Navigation Background colour.
navigationController?.navigationBar.setBackgroundImage(image, for: UIBarPosition.any, barMetrics: UIBarMetrics.default)
navigationController?.navigationBar.shadowImage = UIImage()
navigationController?.navigationBar.isTranslucent = false
navigationController?.navigationBar.barTintColor = UIColor(red: 86.0/255.0, green: 200.0/255.0, blue: 246.0/255.0, alpha: 1.0)

//To change SearchBar Background colour.
self.searchBar.isTranslucent = false
self.searchBar.backgroundImage = image
searchBar.barTintColor = UIColor(red: 86.0/255.0, green: 200.0/255.0, blue: 246.0/255.0, alpha: 1.0)
searchBar.layer.borderColor = UIColor(red: 86.0/255.0, green: 200.0/255.0, blue: 246.0/255.0, alpha: 1.0).cgColor

关于ios - UINavigationBar 和 UISearchBar 上的颜色不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40208982/

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