使用UITextField自定义UISearchBar

使用UITextField自定义UISearchBar

字数267 阅读51 评论1

有的时候,使用iOS自带的控件不符合变态产品狗的需求时,我们只好自定义控件来满足他们。在此处,我们通过创建一个GUSearchBar类,继承自UITextField类来自定义搜索框。


创建GUSearchBar

代码如下:GUSearchBar.h

#import <UIKit/UIKit.h>
@interface GUSearchBar : UITextField

+(instancetype) searchBar;

@end

GUSearchBar.m

#import "GUSearchBar.h"

@implementation GUSearchBar

-(id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {

        self.background = [UIImage resizedImage:@"searchbar_textfield_background"];
        self.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
        UIImageView *leftView = [[UIImageView alloc] init];
        leftView.image = [UIImage imageWithName:@"searchbar_textfield_search_icon"];

        leftView.width = leftView.image.size.width + 10;
        leftView.height = leftView.image.size.height;
        leftView.contentMode = UIViewContentModeCenter;

        self.leftView = leftView;
        self.leftViewMode = UITextFieldViewModeAlways;
        self.clearButtonMode = UITextFieldViewModeAlways;
        self.placeholder = @"搜索";
    }
    return self;
}

+(instancetype) searchBar
{
    return [[self alloc] init];
}

@end

注意:上述有类似leftView.width,leftView.height这样的语法是使用了自定义UIView的扩展分类,详情请点击UIView扩展

使用

GUSearchBar *searchBar = [[GUSearchBar alloc] init];
searchBar.width = 350;
searchBar.height = 30;

self.navigationItem.titleView = searchBar;

使用效果


GUSearchBar

来自RecluseGu的博客:http://reclusegu.github.io/2016/06/29/Customizing-UISearchBar-with-UITextField/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值