对于我们应用程序中的UISearchBars,在iOS 7下运行时,栏中没有显示焦点的光标。我们如何制作该节目?
我们正在使用SDK 7,最小目标为6.我们确实关闭导航栏的半透明效果,并在运行时设置颜色。我想不出别的什么我们做的不同。
答案 0 :(得分:107)
我们的问题是色调颜色设置为白色,所以我没有看到它。
答案 1 :(得分:28)
集
searchBar.tintColor = [UIColor blueColor];
答案 2 :(得分:7)
在搜索框属性窗口中
打开视图部分>设置色调颜色 - 默认。
希望这会有所帮助。
答案 3 :(得分:3)
这是如何在Swift中完成的:
override func viewWillAppear(animated: Bool) {
self.searchBar.tintColor = UIColor.whiteColor()
let view: UIView = self.searchBar.subviews[0] as! UIView
let subViewsArray = view.subviews
for (subView: UIView) in subViewsArray as! [UIView] {
println(subView)
if subView.isKindOfClass(UITextField){
subView.tintColor = UIColor.blueColor()
}
}
}
答案 4 :(得分:2)
searchBar.tintColor = view.tintColor // self.view usually has the proper tintColor
优于.blue
或其他任何内容。
答案 5 :(得分:0)
只需在故事板,xib或代码中为UISearchBar设置tintColor。 Xcode似乎忽略了默认的tintColor。
答案 6 :(得分:0)
您可以遍历searchBars子视图并获取uitextfield子视图并设置其@" insertionPointColor"值到你想要的颜色。工作,但是私人api
for (UIView *subView in self.searchBar.subviews) {
if ([subView isKindOfClass:[UITextField class]]) {
[[(UITextField *) subView valueForKey:@"textInputTraits"] setValue:[UIColor blackColor] forKey:@"insertionPointColor"];
}
}