在 iOS 7 中遇到 UISearchBar 的一些问题后,由于占位符文本对齐,我决定切换到 UITextField。
但我仍然设法通过设置 UISearchBar 的图像和它的文本字段来让它工作。
UITextField *textfieldField = [searchBar valueForKey:@"_searchField"];
[searchBar setImage:[UIImage imageNamed:@"icon_search"]
forSearchBarIcon:UISearchBarIconSearch
state:UIControlStateNormal];
UIImage *whatSearchImage = [UIImage imageNamed:@"icon_search.png"];
UIImageView *whatSearchView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 29, 29)];
whatSearchView.image = whatSearchImage;
textfield.leftViewMode = UITextFieldViewModeAlways;
textfield.leftView = whatSearchView;
有趣的是,如果您不为 UISearchBarIcon 设置图像,它将使用 Apple 的默认图像,但会使其变大。
我还想看看是否有人为此找到了更好的解决方案。