【iOS 开发】搜索栏控件 UISearchBar

iOS小技能: UISearchBar 搜索框使用教程(1、设置_UISearchBarSearchFieldBackgroundView 控件的圆角2、去掉UISearchBar搜索框的放大镜) + (UISearchBar*)homesearchBar { UISearchBar *searchBar = [[UISearchBar alloc]init]; [searchBar setImage:[UIImage imageNamed:@"search"] forSearchBarIcon:UISearchBarIconSearch state:UICont 阅读详情

iOS 搜索栏控件 UISearchBar

1. UISearchBar 使用


// 创建 UISearchBar
let searchBar = UISearchBar(frame: CGRect(x: 15, y: 1400, width: 350, height: 150))

// 设置 UISearchBar 风格
searchBar.searchBarStyle = UISearchBar.Style.minimal // 极简风格

// 设置 UISearchBar 风格颜色
//  searchBar.barTintColor = UIColor.cyan
// 设置 UISearchBar 背景图片
//  searchBar.backgroundImage = UIImage(named: "demo")

// 设置 UISearchBar 提示文字
searchBar.placeholder = "请输入关键字"

// 设置 UISearchBar 标题
searchBar.prompt = "搜索框控件标题"

// 显示 UISearchBar 右侧取消按钮
searchBar.showsCancelButton = true

// 显示 UISearchBar 书库按钮
searchBar.showsBookmarkButton = true

// 显示 UISearchBar 搜索结果按钮
searchBar.showsSearchResultsButton = false

// 设置 UISearchBar 显示附件视图
searchBar.showsScopeBar = true

// 设置 UISearchBar 附件视图的标题
searchBar.scopeButtonTitles = ["综合", "销量", "价格", "筛选"]

// 设置 UISearchBar 附件视图默认选中的索引
searchBar.selectedScopeButtonIndex = 1

// 设置协议
searchBar.delegate = self

scrollView.addSubview(searchBar)


效果展示:
uisearchbar


2. UISearchBarDelegate 协议详解


// 搜索栏将要开始编辑时回调,返回 true 允许进入编辑态,否则不允许
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
    print("searchBarShouldBeginEditing")
    return true
}

// 搜索栏已经开始编辑时回调
func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
    print("searchBarTextDidBeginEditing")
}

// 搜索栏将要结束编辑时回调,返回 true 允许结束编辑态,否则不允许
func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool {
    print("searchBarShouldEndEditing")
    return true
}

// 搜索栏已经结束编辑时回调
func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
    print("searchBarTextDidEndEditing")
}

// 搜索栏的文本发生变化时回调。非常重要
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    print("searchBar, searchText: \(searchText)")
}

// 搜索栏的文本将要发生变化时回调,返回 false 则此次修改无效
func searchBar(_ searchBar: UISearchBar, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    print("searchBar, replacementText: \(text)")
    return true
}

// 点击键盘上的搜索按钮时回调
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
    print("searchBarSearchButtonClicked")
}

// 点击搜索栏的书库按钮时回调
func searchBarBookmarkButtonClicked(_ searchBar: UISearchBar) {
    print("searchBarBookmarkButtonClicked")
}

// 点击搜索栏的取消按钮时回调
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    print("searchBarCancelButtonClicked")
}

// 点击搜索栏的搜索结果按钮时回调
func searchBarResultsListButtonClicked(_ searchBar: UISearchBar) {
    print("searchBarResultsListButtonClicked")
}

// 点击搜索栏的附件视图上的选项按钮时回调
func searchBar(_ searchBar: UISearchBar, selectedScopeButtonIndexDidChange selectedScope: Int) {
    print("searchBar, selectedScopeButtonIndexDidChange: \(selectedScope)")
}


日志打印:
uisearchbar-logs

附 Github 源码:

ViewController.swift

70、iOS 搜索栏与控件的深入解析 本文深入解析了 iOS 开发中的 UISearchBar 和 UIControl 及其子类的使用与自定义。详细介绍了 UISearchBar 的属性、样式设置、按钮与范围栏的使用,以及 UIControl 的控制事件处理机制和控件状态管理。通过示例展示了如何创建自定义控件,并提供了实际开发中的应用建议,帮助开发者打造更灵活、美观的用户界面。 阅读详情

相关推荐

双模音频解码器设计:USB+蓝牙LDAC平衡输出方案

音频解码器是数字音频系统中实现数模转换的核心组件,其性能直接决定音质保真度与系统延迟。基于高集成SoC的解码方案通过统一时钟域与片内DSP处理,有效抑制Jitter并简化硬件拓扑;结合全平衡模拟输出架构,可显著提升共模抑制比(CMRR)与信噪比(SNR)。该技术路径广泛应用于便携式Hi-Res音频设备、USB-C小尾巴DAC及蓝牙高解析耳机放大器等场景。本文围绕ES9038Q2M双模SoC展开,详解其在LDAC协议支持、UAC2.0兼容性及平衡电流型DAC输出方面的工程实现,为高性能、可量产音频硬件开发提供

weixin_42613018的博客 388

iOS--UISearchBar 属性、方法详解及应用(自定义搜索框样式)

1. UISearchBar 的属性 介绍之前先说一下 UISearchBar 的初始化方法:UISearchBar 是 UIView 的子类,它的初始化方法有三种: - (instancetype)init - (instancetype)initWithFrame:(CGRect)frame - (nullable instancetype)initWithCoder:(NSCoder *)aDecoder 1.1 搜索框风格 属性 (两种风格 default 和 black) //

binglan520的专栏 4207

《YOLOv8实例分割实战:训练自己的数据集 》(视频课程)

本课程将手把手地教大家使用labelme标注和使用YOLOv8训练自己的数据集,完成一个多目标实例分割实战项目。

bai666ai的博客 789

[iOS]关于UISearchBar, 看这个就够了

UISearchBar一般我们不单独使用他, 在iOS 8之后, 我们更多地是和UISearchController一起使用, 关于UISearchController的一些使用可参考[iOS]系统UISearchController详解, 这里主要是关于UISearchBar的一些设置, 可以单独使用, 也可以对UISearchController中的searchBar 进行设置. 下面这个就是

流火緋瞳的博客 1万+

2025年ZBrush雕刻实战:从基础到高级技巧全解析

本文全面解析2025年ZBrush雕刻实战技巧,从基础界面操作到高级笔刷应用。详细介绍了核心功能区域如工具面板和灯箱,以及推荐材质选择。重点讲解6个实用笔刷技巧,包括Standard、Move和ClayBuildup等,帮助用户从入门到精通掌握ZBrush雕刻技术。

weixin_29300241的博客 360

frp内网穿透(socks隧道)

在实验过程中还是遇到了挺多的问题,但好在大多都解决了。不过还是遗留了一些不懂的问题,等以后再慢慢研究了。最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。

2301_76227305的博客 1万+

iOS自定义UISearchBar,简单、方便、好用

可恶的UI非要搞一个和系统的UISearchBar的不一样的效果,但是系统自带的用实现不了效果,就自能自定义了。把一个UISearchBar放到UINavigationBar上。并且还要有搜索的结果在整个页面上。。。先看看效果图 HZSearchBar自定义searcher,完全模仿系统样式选择遵循协议 CustomsearchResultsUpdater 及时筛选代理同系统的searchResu...

whuizhou的专栏 4274

ArcGIS中的Python入门知识点整理

关于Arcpy大家应该都比较熟悉,Python用的好,数据处理快又好!在ArcGIS中ArcPy是一个以成功的arcgisscripting模块为基础并继承了arcgisscripting功能进而构建而成的站点包。目的是为以实用高效的方式通过Python执行地理数据分析、数据转换、数据管理和地图自动化创建基础。ArcPy提供了丰富纯正的Python体验,具有代码自动完成功能。今天我们就看看关于Arcpy相关处理的使用,通过一些简单代码与大家一起认识Arcpy。

xjt921122的博客 1771

iOS开发--UIKit控件之UISearchBar(搜索栏)

今天因为需求原因,需要用到搜索控件;之前一直没有用到过这个控件,所以去百度了一下,找到一篇可以说很齐全的资料,感谢这位作者。 然而,我并没有找到可以更改字体大小的属性或方法,希望有知道的告诉我一声,谢谢! 原文地址:http://my.oschina.net/u/2340880/blog/509756 初始化:UISearchBar继承于UIView,我们可以像创建View那样创建...

weixin_30788731的博客 146

mojoPortal 路径穿越漏洞复现(CVE-2025-28367)(附脚本)

 在 mojoPortal CMS 版本 <=2.9.0.1 中发现了一个导致 ViewState 反序列化的目录遍历漏洞。通过利用此问题,未经身份验证的攻击者可以泄露 Web 根目录中的敏感文件,包括应用程序的文件。此配置文件包含用于验证和解密 ViewState 数据的文件。知道此密钥后,网络攻击者可以构建恶意 ViewState 有效负载,从而导致在底层服务器上执行远程代码。(CVE-2025-28367)

iSee857的博客 500

EM的理论与实践(基础篇)

EM理论与实践

m0_61544122的博客 2379

UISearchBar

UISearchBar介绍 属性 作用 UIBarStyle barStyle 控件的样式 id delegate 设置控件的委托 NSString *text 控件上面的显示的文字 NSString *prompt 显示在顶部的单行文字,通常作为一个提示行 NSString *placeholder 半透明的提...

as407017377的博客 132

【STM32 Blue Pill编程】-STM32CubeIDE开发环境搭建与点亮LED

本文为使用 STM32Cube IDE 的 STM32 Blue Pill 入门教程。 在本文中,我们将介绍如何控制 STM32 Blue Pill 的 GPIO 引脚。以及开发环境搭建。 本系列文章将重点介绍采用 ARM Cortex-M 的 BluepellSTM32F103C8 微控制器以及如何使用 STM32CubeIDE 对其进行编程。 STM32CubeIDE是STM32官网提供的IDE

视觉与物联智能 1067

UISearchBar和导航栏按钮

//顶部搜索栏--加到navigationItem.titleView     searchbar=[[UISearchBar alloc]initWithFrame:CGRectMake(40, 0, ViewWidth-40*2, 44)];     searchbar.placeholder=@"商品名称关键字";     searchbar.searchBarSty

shiningchen322的博客 1494

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

给UIWebView增加搜索栏

在xib文件中拖入UIWebView。使用代码为UIWebView的滚动控件增加搜索栏:UISearchBar* searchBar=[[[UISearchBar alloc]initWithFrame:CGRectMake(0, -44, 320, 44)]autorelease];    [self.browser.scrollView addSubview:searchBar];    se...

weixin_34259559的博客 138

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python语句print(type(1j))的输出结果_Python语句print(type(1J))的输出结果是

【单选题】下列选项中,用于设置文本对齐方式的属性是( ) (5.0分)【判断题】默认情况下,UIImageView以及子控件是不接收触屏事件的。(3.0分)【判断题】如果想设置日期选择控件的时间,可以通过Mode属性来实现。(3.0分)【判断题】使用导航控制器切换页面时,导航控制器的栈至少要有一个控制器。(5.0分)【判断题】UITextView直接继承自UIView类。(3.0分)【论述题】使用...

weixin_36168927的博客 3560

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

2026年相机选购指南:从预算、画幅到卡口系统,避坑决策一次讲清

可换镜头相机(微单)已成为当前影像创作的主流工具,其核心价值在于通过画幅、卡口与镜头群的组合,构建一套适配个人需求的拍摄系统。传感器画幅直接决定画质上限:全画幅在弱光与虚化上占优,APS-C则在便携与镜头成本上更亲民;而卡口系统决定了未来三到五年的镜头扩展空间。对焦性能、机身防抖与视频规格则进一步影响实际拍摄体验。无论是旅行记录、vlog创作还是专业接单,不同场景对相机的需求差异巨大。2026年相机市场竞争激烈,从3000元入门微单到2万元旗舰机身,如何根据预算和用途做出理性选择,掌握核心参数与避坑要点,正

weixin_33871366的博客 307

iOS学习笔记-039.UISearBar——基本使用

UISearBar基本使用 一UISearchBar方便用户搜索信息 二UISearchBar工作原理 三为什么是Search Bar and Search Display Controller 四UISearchBar的属性 五代码 六图示 七参考blog httpwwwtuicoolcomarticles6viqEnUISearBar——基本使用一、UISearchBar——方便用户搜索信息

qiwenmingshiwo的专栏 1811

UISearchBar和UISearchDisplayController

原文 http://hi.baidu.com/happywilma0118/item/e6d5730a499bba1b3a53eef8   UISearchBar继承自UIView、UIResponder、NSObject     属性:  autocapitalizationType————自动对输入文本对象进行大小写设置(包含4种类型,但是有时候键盘会屏蔽此属性)  autoc...

weixin_34060741的博客 75

技术博文高效选题策略:从框架集成到AI工具落地的工程实践

在软件工程实践中,技术写作是知识沉淀与传播的重要载体,也是工程师系统化输出能力的体现。从底层原理到工程应用,理解框架集成逻辑与开发工具链设计,往往决定了一个团队能否在复杂业务中保持高效交付。系统调优、中间件踩坑记录以及AI开发工具的落地实践,都是围绕真实场景展开的技术探索,其背后蕴含的架构思维与排障方法论,具有极高的复用价值。面对云原生、微服务等快速迭代的行业趋势,开发者需要从概念认知走向原理剖析,再通过实际项目验证技术可行性。为此,从框架集成、开发工具矩阵到AI开发工具全链路梳理技术文章的选题与写作路径,

weixin_30613727的博客 411

【IOS 开发学习总结-OC-53】★★ios开发UI 控件——UISearchBar与UISearchDisplayController

【IOS 开发学习总结-OC-53】★★ios开发UI 控件——UISearchBarUISearchBar——搜索栏属性面板: 借鉴下老版本的属性面板说明: 属性说明: 1. options: 有多个复选框 - shows search results button: 勾选后的效果; - shows bookmarks button: 勾选后的效果; - shows

Albert的专栏 1381

iOS开发-搜索栏UISearchBar和UISearchController

搜索栏的重要性我们就不说了,狼厂就是靠搜索起家的,现在越来越像一匹没有节操的狼,UC浏览器搜索栏现在默认自家的神马搜索,现在不管是社交,O2O还是在线教育等都会有一个搜索栏的实现,不过彼此实现效果是不一样的。iOS中的搜索栏实现起来相对简单一点,网上也有很多参考资料,不过靠谱的不是很多,很多都是iOS 8.0之前的实现,iOS 8.0上的实现貌似很少看到,看了一些老外的代码,使用了一下UISear

PersonSky的博客 604

[转] iOS开发-搜索栏UISearchBar和UISearchController

原文网址:http://www.cnblogs.com/xiaofeixiang/p/4273620.html?utm_source=tuicool iOS中UISearchDisplayController用于搜索,搜索栏的重要性我们就不说了,狼厂就是靠搜索起家的,现在越来越像一匹没有节操的狼,UC浏览器搜索栏现在默认自家的神马搜索,现在不管是社交,O2O还是在线教育等都会有...

bailu1020的博客 185
上一篇: 【iOS 开发】时间选择器控件 UIDatePicker
下一篇: Android 性能优化 之 插桩日志分析
Lucky_William
博客等级 码龄11年 161粉丝 57原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值