MySearchBar.h如下:
@interface MySearchBar : UISearchBar
- (void)layoutSubviews;
@end
MySearchBar.m如下:
#import "MySearchBar.h"
@implementation MySearchBar
- (void)layoutSubviews {
UITextField *searchField;
NSUInteger numViews = [self.subviews count];
for(int i = 0; i < numViews; i++) {
if([[self.subviews objectAtIndex:i] isKindOfClass:[UITextField class]]) { //conform?
searchField = [self.subviews objectAtIndex:i];
}
}
if(!(searchField == nil)) {
searchField.textColor = [UIColor redColor];
[searchField setBorderStyle:UITextBorderStyleRoundedRect];
UIImage *image = [UIImage imageNamed: @"出發位置.png"];
UIImageView *iView = [[UIImageView alloc] initWithImage:image];
searchField.leftView = iView;
}
[super layoutSubviews];
}
@end
應用:
MySearchBar *searchBar = [MySearchBar alloc] initWithRct:CGRectMark(10, 10 ,100,30)];
searchBar.backgroundColor = [UIColor clearColor]; //修改搜尋方塊背景
searchBar.showsScopeBar = NO;
[[searchBar.subviews objectAtIndex:0]removeFromSuperview]; //去掉搜尋方塊背景
for (UIView *subview in searchBar.subviews) {
if ([subview isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
[subview removeFromSuperview];
break;
}
}
// UIView *baView = [[UIView alloc] init];
// baView.backgroundColor = [UIColor clearColor];
//
// [searchBar insertSubview:baView atIndex:1];