我试图自定义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
谢谢你,我有一天会为你付啤酒。 –