How to change the position or hide magnifier icon in UISearchBar in IOS 7?
Solution 1
UITextField *txfSearchField = [looksearchbar valueForKey:@"_searchField"];
[txfSearchField setBackgroundColor:[UIColor whiteColor]];
[txfSearchField setLeftViewMode:UITextFieldViewModeNever];
[txfSearchField setRightViewMode:UITextFieldViewModeNever];
[txfSearchField setBackground:[UIImage imageNamed:@"searchbar_bgImg.png"]];
[txfSearchField setBorderStyle:UITextBorderStyleNone];
//txfSearchField.layer.borderWidth = 8.0f;
//txfSearchField.layer.cornerRadius = 10.0f;
txfSearchField.layer.borderColor = [UIColor clearColor].CGColor;
txfSearchField.clearButtonMode=UITextFieldViewModeNever;
Try this may be it will help u........
Solution 2
I'm not sure how to left-align the placeholder, but as of iOS 5.0 there's a simple, supported way to modify the search bar's text field properties, e.g.:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setLeftViewMode:UITextFieldViewModeNever];
which will hide the magnifying glass icon.
Related videos on Youtube
iSwaroop
Working as Sr.Mobile Apps Developer(iOS/Xamarin Forms),Hyderabad,India.
Updated on June 14, 2022Comments
-
iSwaroop almost 2 years
I am working on IOS 7 application.By default its appearing like Pic(1).But I need to change it as Pic(2).I googled and found few answers for the requirement,but it has not changed.Or else I need to hide.So that I can manage with background image.This is first image
I used below code to modify it.But didnt succeed.
In .h file
@property(nonatomic,strong) IBOutlet UISearchBar *findSearchBar;
In .m file
@synthesize findSearchBar; - (void)viewDidLoad { [super viewDidLoad]; [self setSearchIconToFavicon]; } - (void)setSearchIconToFavicon { // The text within a UISearchView is a UITextField that is a subview of that UISearchView. UITextField *searchField; for (UIView *subview in self.findSearchBar.subviews) { if ([subview isKindOfClass:[UITextField class]]) { searchField = (UITextField *)subview; break; } } if (searchField) { UIView *searchIcon = searchField.leftView; if ([searchIcon isKindOfClass:[UIImageView class]]) { NSLog(@"aye"); } searchField.rightView = nil; searchField.leftView = nil; searchField.leftViewMode = UITextFieldViewModeNever; searchField.rightViewMode = UITextFieldViewModeAlways; } }
I am not getting how to make the center of the view's image to nil.Its really killing my time.Please help me.where I had gone wrong.
-
Shrawan over 7 yearsRefer for swift-3 : stackoverflow.com/questions/19289406/…
-
-
Hari1251 over 10 yearstry to set background image instead of setting RGB color to it.
-
Ray Lillywhite over 10 yearsNote that this can get your app rejected from the app store. Specifically the
[looksearchbar valueForKey:@"_searchField"]
part. A safer way is to look through the subviews of the search bar (and the subviews of the subviews as well) until you find the correct subview with[subview isKindOfClass:[UITextField class]]
-
atticus about 10 yearsAs of iOS 5.0, you can set these values on UITextField via UIAppearance:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setLeftViewMode:UITextFieldViewModeNever];
-
Grzegorz Krukowski over 8 yearsDon't worry about [looksearchbar valueForKey:@"_searchField"] - it's completely okey to do that - no rejections on any of my apps
-
Tom Howard almost 8 yearsUpvote for cutting the gordian knot! Why does with UISearchBar have to be so arduous (rhetorical)?
-
TheCodingArt over 7 years@GrzegorzKrukowski, no it isn't ok to do. Anything involving a private API is subject to rejection and is strictly against the rules (regardless if your applications were flagged or not). This is extremely dangerous to even remotely rely on and can change in any incremental update.