UISearchbar barTintColor 取消按钮不可见

Posted

技术标签:

【中文标题】UISearchbar barTintColor 取消按钮不可见【英文标题】:UISearchbar barTintColor Cancel button not visible 【发布时间】:2013-10-30 19:11:05 【问题描述】:

我尝试将 UISearchbar 的条形颜色设置为一种颜色,并将 tintColor(光标和取消按钮)设置为另一种颜色,代码如下:

searchbar.barTintColor = color1;
searchbar.tintColor = color2;

barTintColor 应用正确。

问题是:取消按钮的文本不可见,但如果在情节提要中尝试相同的操作(将 batTintColor 和 tintColor 应用于 UISearchbar),一切都会按预期工作。

【问题讨论】:

【参考方案1】:

我注意到取消按钮仅在其状态为“正常”时不可见,因此我找到了解决问题的代码,但我认为这不是预期的方法。

 [[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil]    setTitleTextAttributes:@NSForegroundColorAttributeName:[UIColor greenColor] forState:UIControlStateNormal];

【讨论】:

以上是关于UISearchbar barTintColor 取消按钮不可见的主要内容,如果未能解决你的问题,请参考以下文章

iOS 8.0 中的 UISearchBar barTintColor clearColor 错误

自定义UISearchBar外观

UISearchBar的使用

UINavigationController 和 UISearchBar 之间的 iOS 9 细线

更改 UISearchBar 的条形颜色 - iOS

iOS 7 BarTintColor