- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
经过更仔细的检查,键盘似乎与此问题直接相关。
searchController.searchBar.keyboardAppearance = UIKeyboardAppearance.dark
键盘的外观似乎会影响 searchBar 文本的颜色。我不知道为什么会这样。键盘的默认外观是黑色的,因此当键盘可见时,searchBar 文本变为黑色。关闭键盘后,searchBar 文本会恢复为我指定的原始颜色(白色)。
仔细检查后,问题似乎与键盘直接相关。只要键盘处于事件状态(意味着可见且未关闭),文本的颜色就会不同。
键盘消失的那一刻,颜色发生变化。
假设“专注”不是问题。
此外,searchController.searchBar.setTextColor(color: .white)
和“注意到的”色调是两种完全不同的东西。它们根本没有链接。
我已将 searchBar
的文本颜色设置为 white
,但是当 searchBar
处于焦点时,颜色有轻微的“着色”。
我将 tint 放在引号中是因为我实际上试图将 searchBar 的 tint 颜色设置为白色,但没有任何运气。
这是我用来创建 SearchController
的代码。此代码是在我的 AppDelegate
中调用并添加到我的 TabBarController
中的函数的一部分。
//... more code above
//Inside function called "configureSearchController" within AppDelegate
let searchController = UISearchController(searchResultsController: searchResultsController)
searchController.searchResultsUpdater = searchResultsController
searchController.searchBar.placeholder = NSLocalizedString("Enter keyword (e.g. Gastric Bypass)", comment: "")
searchController.view.backgroundColor = Constants.Color.backgroundColorDark
searchController.searchBar.keyboardAppearance = UIKeyboardAppearance.dark
searchController.searchBar.backgroundColor = Constants.Color.backgroundSearchBarColor
//Here is where I set the color of the search bar text.
searchController.searchBar.setTextColor(color: .white)
//Here is where I attempt to remove any possible color changes
//or effect... none of the following 2 lines work
searchController.searchBar.tintColor = .white
searchController.searchBar.barTintColor = .white
searchController.hidesNavigationBarDuringPresentation = false
searchController.obscuresBackgroundDuringPresentation = true
searchController.searchBar.searchBarStyle = .minimal
searchController.searchBar.sizeToFit()
//... more code below
上图显示了搜索栏处于焦点状态,文本带有淡淡的绿色。
上图显示搜索栏未聚焦且文本为白色。
为什么焦点上的搜索栏会稍微改变文本的颜色?
最佳答案
当键盘处于事件状态时,键盘外观会影响 searchBar 文本。向 searchBar 添加自定义外观不是一个好主意。最好的解决方法是使用默认外观。
extension UIColor {
convenience init(hexString: String) {
let hex = hexString.trimmingCharacters(in: CharacterSet.alphanumerics.inverted)
var int = UInt32()
Scanner(string: hex).scanHexInt32(&int)
let a, r, g, b: UInt32
switch hex.characters.count {
case 3: // RGB (12-bit)
(a, r, g, b) = (255, (int >> 8) * 17, (int >> 4 & 0xF) * 17, (int & 0xF) * 17)
case 6: // RGB (24-bit)
(a, r, g, b) = (255, int >> 16, int >> 8 & 0xFF, int & 0xFF)
case 8: // ARGB (32-bit)
(a, r, g, b) = (int >> 24, int >> 16 & 0xFF, int >> 8 & 0xFF, int & 0xFF)
default:
(a, r, g, b) = (1, 1, 1, 0)
}
self.init(red: CGFloat(r) / 255, green: CGFloat(g) / 255, blue: CGFloat(b) / 255, alpha: CGFloat(a) / 255)
}
}
searchController.searchBar.keyboardAppearance = UIKeyboardAppearance.dark
searchController.searchBar.setTextColor(color: UIColor.init(hexString: "#c5c5c5"))
十六进制“#c5c5c5
”对应于键盘深色外观的按键颜色。这样,当键盘关闭或激活时,searchBar 文本的颜色不会发生变化。
关于swift - 为什么焦点上的 searchBar 会稍微改变文本的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42091558/
我有一个可视化 C# 项目,我想从中编译两个可执行文件:Full.exe 和 Limited.exe。 Limited.exe 只是隐藏了几个 UI 控件。 我正在考虑添加另一对解决方案配置(Debu
我和我的伙伴正计划将我们拥有的 python 应用程序移植到 iOS。我们使用 numpy 的 SVD、范数和 pinv功能,我不知道如何转换为 iOS。我查看了 Accelerate文档,没有看到任
即,它永远不会使用某些特定的 upperBound 参数连续生成超过 16 个偶数: Random random = new Random(); int c = 0; int max = 17; in
我的问题是我必须使用第三方函数/算法,它采用 double 数组作为输入,但显然对输入数据中的非常小的变化很敏感.但是对于我的应用程序,我必须为(几乎)相同的输入获得相同的结果!特别是我有两个测试输入
mouse_event 函数将光标发送到稍有错误的坐标(偏离 1-20 像素)。它“关闭”的程度取决于我不太清楚的模式。 这是我的代码 int x, y; int repeats = 1000; in
在 C++ 类(class)中,我学到了避免重复计算、使用更多加法而不是更多乘法、避免幂等技巧来提高性能。然而,当我尝试让他们用 Julia-Lang 优化代码时,我对相反的结果感到惊讶。 例如,这里
好的。请耐心听我说,我不擅长解释事情。 我有一个通过网站上的表格收集的联系信息数据库。显然,人们不小心(或故意,但修复是一个不同的问题)多次按下“提交”,因此该数据库中有很多重复的行。 因此,tabl
我一直在用各种语言和实现实现相同的代码(在 Blackjack 中发牌而不爆牌的方法的数量)。我注意到的一个奇怪之处是,Python 在 C 中调用分区函数的实现实际上比用 C 编写的整个程序快一点。
我在使用 Pandas 解析数据的时间戳时遇到问题。 我尝试解析的日期时间格式示例类似于 2012-05-02 01:00:00-05:00。从 Pandas 文档中,我被驱动到相关的 Python
下面函数模板的目标是取任意unordered_map并产生一个新的unordered_map与 key_type和 mapped_type倒。下面的函数适用于 std::unorderd_map .我
我是一名优秀的程序员,十分优秀!