iSwaroop iSwaroop - 4 months ago 38x
iOS Question

How to change the position or hide magnifier icon in UISearchBar in IOS 7?

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


enter image description here

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;

if (searchField)
UIView *searchIcon = searchField.leftView;
if ([searchIcon isKindOfClass:[UIImageView class]])
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.

    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;

Try this may be it will help u........