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];