53

对于我们应用程序中的 UISearchBars,在 iOS 7 下运行时,焦点栏中没有显示光标。我们如何显示?

我们正在使用 SDK 7,最小目标为 6。我们确实关闭了导航栏的半透明,并在运行时设置颜色。我想不出我们还有什么不同的做法。

4

7 回答 7

113

Our problem was that the tint color was set to white, so I didn't see it.

于 2013-10-07T18:52:58.037 回答
28

Set

searchBar.tintColor = [UIColor blueColor];
于 2013-10-11T09:24:55.077 回答
7

在搜索框属性窗口中

打开查看部分>设置色调颜色 - 默认。

在此处输入图像描述

希望这会有所帮助。

于 2014-03-01T15:28:49.160 回答
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()
        }
    }

}
于 2015-04-14T14:07:45.927 回答
2
searchBar.tintColor = view.tintColor  // self.view usually has the proper tintColor

.blue什么都好。

于 2017-06-09T06:24:37.387 回答
0

只需在情节提要、xib 或代码中为 UISearchBar 设置 tintColor。Xcode 似乎忽略了默认的 tintColor。

于 2014-02-03T18:10:11.680 回答
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"];
    }
}
于 2014-04-17T08:32:01.197 回答