吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1554|回复: 4
收起左侧

[学习记录] ios[ios]UISearchBar学习(连载15)

[复制链接]
debug_cat 发表于 2021-4-14 09:59
QQ图片20210414095725.png

UISearchBar

领券商城开发搜索功能,需要用到UISearchBar

一个搜索组件。接下里就是简单的使用案例了。

设置搜索bar位置

我们使用SnapKit来控制view的位置。

//初始化
private lazy var searchBox: UISearchBar = {
        let searchView = UISearchBar()
        return searchView
}()

布局位置:安全区的top的位置

//搜索
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

searchBox.delegate = self
extension FindViewController{
    //文字变更
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
        //搜索文字触发回调
        print("[ViewController searchBar] 输入 searchText: \(searchText)")
    }

    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        print("键盘上面点击搜索 \(searchBar.text)")
    }
}

响应2个逻辑,第一个就是文字的变化,当文字空的时候,我们需要清空搜索结果,显示搜索历史。

当点击键盘的搜索按钮的时候,我们需要搜索对应的商品,然后更新tableview。

给出完整的代码。

//
//  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("[ViewController searchBar] 输入 searchText: \(searchText)")
    }

    func searchBarSearchButtonClicked(_ searchBar: UISearchBar) {
        print("键盘上面点击搜索 \(searchBar.text)")
    }
}

接下里,就是根据搜索框的内容,进行商品搜索了。

最近有点事情,更新慢了。

代码地址:

https://github.com/cat13954/IOSUiTableViewSample

个人博客地址

https://www.bbsios.xyz

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
苏紫方璇 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lyl610abc + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

lyl610abc 发表于 2021-4-14 11:08
前来支持大佬了
 楼主| debug_cat 发表于 2021-4-14 14:31
husky9527 发表于 2021-4-15 11:17
 楼主| debug_cat 发表于 2021-4-18 20:42

最近家里有的事情比较忙,所以进度拉下了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 04:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表