首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISearchBar定制

UISearchBar定制
EN

Stack Overflow用户
提问于 2013-10-22 12:38:56
回答 2查看 799关注 0票数 1

我正在尝试定制UISearchBar,但我很难使用它。

这就是我的搜索栏目前的样子。我想要做的是在整个uisearchbar上设置一个uiimage。我尝试过setSearchFieldBackgroundImage,但它不影响搜索栏的文本字段部分。如何将图像放在白色部分?我还想将白色部分延伸到边缘,以便在所有边都有相同的边距。

EN

回答 2

Stack Overflow用户

发布于 2013-10-22 13:12:00

对于镜像的目的,你可以使用这个,不要忘记导入Quartzcore框架

代码语言:javascript
复制
[searchbar setBackgroundImage:[UIImage imageNamed:@"base_200x50.png"]];
    [searchbar setTranslucent:YES];
    UITextField *txtSearchField = [searchbar valueForKey:@"_searchField"];
    [txtSearchField setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"base_200x50.png"]]];
    [txtSearchField setBorderStyle:UITextBorderStyleRoundedRect];
    txtSearchField.layer.borderWidth = 8.0f;
    txtSearchField.layer.cornerRadius = 10.0f;
    txtSearchField.layer.borderColor = [UIColor clearColor].CGColor;

并且可以设置txtSearchField的框架来扩展文本字段。

票数 0
EN

Stack Overflow用户

发布于 2018-01-12 23:27:50

我希望这能对你有所帮助:

我使用的模式图像:

代码语言:javascript
复制
@IBOutlet weak var sbSearchBar: UISearchBar!

// if you wan to set background color for searchbar, except field
func setupSearchbarBackgroundImage() -> Void {

    sbSearchBar.setBackgroundImage(UIImage(named: "pattern2"), for: UIBarPosition.any, barMetrics: UIBarMetrics.default)

}

结果:

代码语言:javascript
复制
func setupSearchbar() -> Void {
    // if you wan to set background color for field only
    if let textfield = sbSearchBar.value(forKey: "searchField") as? UITextField {

        textfield.backgroundColor = UIColor(patternImage: UIImage(named: "pattern2")!)

    }
}

结果如下:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19509079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档