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

这就是我的搜索栏目前的样子。我想要做的是在整个uisearchbar上设置一个uiimage。我尝试过setSearchFieldBackgroundImage,但它不影响搜索栏的文本字段部分。如何将图像放在白色部分?我还想将白色部分延伸到边缘,以便在所有边都有相同的边距。
发布于 2013-10-22 13:12:00
对于镜像的目的,你可以使用这个,不要忘记导入Quartzcore框架
[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的框架来扩展文本字段。
发布于 2018-01-12 23:27:50
我希望这能对你有所帮助:
我使用的模式图像:

@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)
}结果:

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")!)
}
}结果如下:

https://stackoverflow.com/questions/19509079
复制相似问题