光标没有在我们的应用程序的UISearchBar中显示

时间:2013-10-07 18:47:11

标签: ios7 uisearchbar uisearchbardisplaycontrol

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

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

7 个答案:

答案 0 :(得分:107)

我们的问题是色调颜色设置为白色,所以我没有看到它。

答案 1 :(得分:28)

searchBar.tintColor = [UIColor blueColor];

答案 2 :(得分:7)

在搜索框属性窗口中

打开视图部分>设置色调颜色 - 默认。

enter image description here

希望这会有所帮助。

答案 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"];
    }
}