微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 如何更改UISearchBar占位符和图像色调?

我一直在尝试搜索结果几个小时,但我不能得到这个想法.也许是不可能的.我试图改变UISearchBar的占位符文字和放大镜的色调颜色.如果重要的话,我只针对iOS 8.0.这是我的代码,现在看起来如何
let searchBar = UISearchBar()
searchBar.placeholder = "Search"
searchBar.searchBarStyle = UISearchBarStyle.Minimal
searchBar.tintColor = UIColor.whiteColor()

我希望搜索和放大镜是白色的,或者是深绿色.

解决方法

如果您有可以使用的自定义图像,则可以使用类似于以下内容的方式设置图像并更改占位符文本颜色
[searchBar setimage:[UIImage imageNamed:@"SearchWhite"] forSearchBarIcon:UISearchBarIconSearch state:UIControlStatenormal];

UITextField *searchTextField = [searchBar valueForKey:@"_searchField"];    
if ([searchTextField respondsToSelector:@selector(setAttributedplaceholder:)]) {
    UIColor *color = [UIColor purpleColor];
    [searchTextField setAttributedplaceholder:[[NSAttributedString alloc] initWithString:@"Search" attributes:@{NSForegroundColorAttributeName: color}]];
}

在这个例子中,我使用了purpleColor,而您可以使用(UIColor *)colorWithRed(CGFloat)红色绿色(CGFloat)绿色蓝色(CGFloat)蓝色alpha:(CGFloat)alpha方法来创建自定义深绿色.

编辑:我只是意识到你正在迅速地写这篇文章.快速键入这个,所以我没有把答案放在Obj-C中.

searchBar.setimage(UIImage(named: "SearchWhite"),forSearchBarIcon: UISearchBarIcon.Search,state: UIControlState.normal);

    var searchTextField: UITextField? = searchBar.valueForKey("searchField") as? UITextField
    if searchTextField!.respondsToSelector(Selector("attributedplaceholder")) {
        var color = UIColor.purpleColor()
        let attributeDict = [NSForegroundColorAttributeName: UIColor.purpleColor()]
        searchTextField!.attributedplaceholder = NSAttributedString(string: "search",attributes: attributeDict)
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐