博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义搜索框
阅读量:6612 次
发布时间:2019-06-24

本文共 2036 字,大约阅读时间需要 6 分钟。

  默认情况下,苹果给我们的搜索框?并不是我们想要的效果,所以我们可能就需要去自定义一个自己需要的搜索框,下面简单写一个自定义的控件。

  要注意:

  1、searchIcon.height = 30;这里的控件尺寸直接赋值是因为在头文件中引入UIView的类别 :http://www.cnblogs.com/daomul/p/4662402.html

  2、采用instancetype单例模式加载控件

  3、leftView是左边的一个?图片,contentMode是图片控件的填充方式,为了使得图片居中显示

  4、是基于UITextField的

 

  5、那么我们在我们对应父控制器中就可以通过如下代码调用:

    

      //自定义搜索框

        XBSearchBar *searchBar = [XBSearchBar searchBar];

        searchBar.width = 300;

        searchBar.height = 30;    

       //设置为navigation的正中位置

        self.navigationItem.titleView = searchBar;

头文件代码:

  

////  XBSearchBar.h//  XibaTest////  Created by bos on 15-6-14.//  Copyright (c) 2015年 axiba. All rights reserved.//#import 
@interface XBSearchBar : UITextField+(instancetype)searchBar;@end

 

文件代码:

1 // 2 //  XBSearchBar.m 3 //  XibaTest 4 // 5 //  Created by bos on 15-6-14. 6 //  Copyright (c) 2015年 axiba. All rights reserved. 7 // 8  9 #import "XBSearchBar.h"10 11 @implementation XBSearchBar12 13 -(id)initWithFrame:(CGRect)frame14 {15     self = [super initWithFrame:frame];16     17     if (self) {18         19         self.font = [UIFont systemFontOfSize:15];20         self.placeholder = @"请输入搜索条件...";21         self.background = [UIImage imageNamed:@"searchbar_textfield_background"];22         23         UIImageView *searchIcon = [[UIImageView alloc]init];24         searchIcon.height = 30;25         searchIcon.width = 30;26         //控制图片控件内部的填充方式27         searchIcon.contentMode = UIViewContentModeCenter;28         searchIcon.image = [UIImage imageNamed:@"searchbar_textfield_search_icon"];29         30         self.leftView = searchIcon;31         self.leftViewMode = UITextFieldViewModeAlways;32         33     }34     return self;35 }36 37 +(instancetype)searchBar38 {39     return [[self alloc]init];40 }41 42 /*43 // Only override drawRect: if you perform custom drawing.44 // An empty implementation adversely affects performance during animation.45 - (void)drawRect:(CGRect)rect {46     // Drawing code47 }48 */49 50 @end

 

转载于:https://www.cnblogs.com/daomul/p/4662422.html

你可能感兴趣的文章
oracle取前几行|中间几行|后几行
查看>>
java算法-递归算法思想
查看>>
领域驱动的设计
查看>>
16.1 Tomcat介绍
查看>>
Tumblr 爬虫
查看>>
B站,N站,汤站,爬虫下载资源总结与技巧(二)
查看>>
QuickBI助你成为分析师——数据源FAQ小结
查看>>
速记 UWP Unit Test 异常:ailed to initialize client proxy: could not connect to test process
查看>>
十周三次课
查看>>
解读POI操作之表格导出(生成多个sheet)
查看>>
安装redis 解压后的文件及操作
查看>>
Docker安装mysql8主从结构
查看>>
S/4HANA服务订单Service Order的批量创建
查看>>
iOS ShareSDK桥接技术
查看>>
spring源码解析bean定义@Configuration、@Import、@Bean(2)
查看>>
技术工坊|WASM应用区块链虚拟机的技术实践(上海)
查看>>
常见前端面试题
查看>>
工业大数据分析平台的应用价值探讨
查看>>
一周第五次课(系统目录结构、ls命令、文件类型、alias命令 )
查看>>
NFS搭建 (资源)
查看>>