UISearchbar 自定义搜索图标失真

2018/12/21 posted in  iOS

关于Searchbar设置搜索图标的问题
因为这个大小在iOS中是固定的14*14
如果UI给的切图不是这个尺寸就会出现失真的情况(ps:因为视图的默认contentMode是UIViewContentModeScaleToFill)
网上有的方法一般是设置一个继承自UITextfield的searchBar
去修改SearchBar的leftView。

UIImageView *searchIcon = [[UIImageView alloc] init];
searchIcon.image = [UIImage imageNamed:@"searchbar_textfield_search_icon"];
searchIcon.contentMode = UIViewContentModeCenter;        searchIcon.size = CGSizeMake(14, 14);
self.leftView = searchIcon;
self.leftViewMode = UITextFieldViewModeAlways;

但是其实完全可以便利UISearchBar的子视图拿到textField
再去设置textField.leftView.contendMode即可

其实系统方法
[xxxbar setImage:forSearchBarIcon:state];
内部就是设置了textField的leftView