ios[ios]UISearchBar学习(连载15)
## UISearchBar
领券商城开发搜索功能,需要用到`UISearchBar`
一个搜索组件。接下里就是简单的使用案例了。
#### 设置搜索bar位置
我们使用`SnapKit`来控制view的位置。
```swift
//初始化
private lazy var searchBox: UISearchBar = {
let searchView = UISearchBar()
return searchView
}()
```
布局位置:安全区的top的位置
```swift
//搜索
view.addSubview(searchBox)
searchBox.delegate = self
//约束搜索
searchBox.snp.makeConstraints { (mm) in
mm.left.equalToSuperview()
mm.right.equalToSuperview()
mm.top.equalTo(view.safeAreaLayoutGuide.snp.top)
mm.height.equalTo(60)
}
```
#### 设置搜索代{过}{滤}理
实现`UISearchBarDelegate`
```swift
searchBox.delegate = self
```
```swift
extension FindViewController{
//文字变更
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
//搜索文字触发回调
print(" 输入 searchText: \(searchText)")
}
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
print("键盘上面点击搜索 \(searchBar.text)")
}
}
```
响应2个逻辑,第一个就是文字的变化,当文字空的时候,我们需要清空搜索结果,显示搜索历史。
当点击键盘的搜索按钮的时候,我们需要搜索对应的商品,然后更新tableview。
给出完整的代码。
```swift
//
//FindViewController.swift
//uitable
//
//Created by Alice on 2021/3/8.
//
import UIKit
import SnapKit
class FindViewController: BaseViewController, UISearchBarDelegate{
private lazy var lab: UILabel = {
let label = UILabel()
return label
}()
private lazy var searchBox: UISearchBar = {
let searchView = UISearchBar()
return searchView
}()
override func viewDidLoad() {
super.viewDidLoad()
//标题
title = "搜索"
view.addSubview(lab)
//搜索
view.addSubview(searchBox)
lab.text = "find"
lab.snp.makeConstraints { (make) in
make.center.equalToSuperview()
}
searchBox.delegate = self
//约束搜索
searchBox.snp.makeConstraints { (mm) in
mm.left.equalToSuperview()
mm.right.equalToSuperview()
mm.top.equalTo(view.safeAreaLayoutGuide.snp.top)
mm.height.equalTo(60)
}
}
}
extension FindViewController{
//文字变更
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
//搜索文字触发回调
print(" 输入 searchText: \(searchText)")
}
func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
print("键盘上面点击搜索 \(searchBar.text)")
}
}
```
---
> 接下里,就是根据搜索框的内容,进行商品搜索了。
>
> 最近有点事情,更新慢了。
代码地址:
https://github.com/cat13954/IOSUiTableViewSample
个人博客地址
https://www.bbsios.xyz 前来支持大佬了{:301_997:} lyl610abc 发表于 2021-4-14 11:08
前来支持大佬了
{:301_997:}万分感谢 看看进度如何了 husky9527 发表于 2021-4-15 11:17
看看进度如何了
最近家里有的事情比较忙,所以进度拉下了。
页:
[1]