可以重写UISearchBar,然后调用layoutSubviews这个方法。 - (void)layoutSubviews { UITextField *searchField; NSUInteger numViews = [self.subviews count]; for(int i = 0; i < numViews; i++) { if([[self.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) { searchField = [self.subviews objectAtIndex:i]; } } if(!(searchField == nil)) { searchField.textColor = [UIColor whiteColor]; [searchField.leftView setHidden:YES]; [searchField setBackground: [UIImage imageNamed:@"SearchBarBackground.png"] ]; [searchField setBorderStyle:UITextBorderStyleNone]; } [super layoutSubviews];}