对于我们应用程序中的 UISearchBars,在 iOS 7 下运行时,焦点栏中没有显示光标。我们如何显示?
我们正在使用 SDK 7,最小目标为 6。我们确实关闭了导航栏的半透明,并在运行时设置颜色。我想不出我们还有什么不同的做法。
对于我们应用程序中的 UISearchBars,在 iOS 7 下运行时,焦点栏中没有显示光标。我们如何显示?
我们正在使用 SDK 7,最小目标为 6。我们确实关闭了导航栏的半透明,并在运行时设置颜色。我想不出我们还有什么不同的做法。
Our problem was that the tint color was set to white, so I didn't see it.
Set
searchBar.tintColor = [UIColor blueColor];
在搜索框属性窗口中
打开查看部分>设置色调颜色 - 默认。
希望这会有所帮助。
这就是它可以在 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()
}
}
}
searchBar.tintColor = view.tintColor // self.view usually has the proper tintColor
比.blue
什么都好。
只需在情节提要、xib 或代码中为 UISearchBar 设置 tintColor。Xcode 似乎忽略了默认的 tintColor。
您可以遍历 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"];
}
}