我試圖自定義UISearchbar的文本字段。下面的圖片顯示了我的一半完成的工作。 自定義UISearchbar的UITextfield - iOS
我有UISearchbar的子類,並從我的視圖控制器調用它。我試圖從文本字段中刪除那些黑灰色的線條。下面是UISearchbar添加到viewcontroller子視圖的實現。
searchbar = [[SearchBar alloc] initWithFrame:CGRectMake(35,78, 250, 17)];
searchbar.backgroundColor = [UIColor clearColor];
searchbar.layer.borderColor = [[UIColor clearColor] CGColor];
searchbar.layer.borderWidth = 0;
for(UIView *view in searchbar.subviews){
if([view isKindOfClass:[UITextField class]]){
UITextField *tf= (UITextField *)view;
tf.layer.borderColor = [[UIColor clearColor] CGColor];
tf.delegate = self;
break;
}
}
[self.view addSubview:searchbar];
searchbar.delegate = self;
的UISearchBar子:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
-(void)layoutSubviews{
UITextField *searchField;
[[[self subviews] objectAtIndex:0] removeFromSuperview];
[self setTintColor:[UIColor clearColor]];
self.clipsToBounds = YES;
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];
searchField.leftViewMode = UITextFieldViewModeNever;
searchField.backgroundColor = [UIColor clearColor];
}
}
if(!(searchField == nil)) {
searchField.backgroundColor = [UIColor clearColor];
searchField.textColor = [UIColor blackColor];
searchField.frame = CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height-10);
[searchField setBorderStyle:UITextBorderStyleRoundedRect];
}
[super layoutSubviews];
}
我想才達到這樣的事: 的文本字段不應該有任何界限。圖標被展平UIImageView。
圖標都像我的UIImageView的一部分說過。它是我擔心的文本字段。那些深灰色的線條將被刪除。謝謝你的回答。圖標已從搜索欄中刪除。 – DesperateLearner
非常感謝你Animesh ...它解決了我的問題。 – Hari1251
謝謝你,我有一天會爲你付啤酒。 –