zoukankan      html  css  js  c++  java
  • IOS Swift UITableViewcontroller实现点击空白处隐藏键盘

    在ios开发中,为了方便,我们经常使用UITableViewcontroller,比如搜索界面为了方便可能更多的使用UITableViewcontroller,那么问题就来了,当我点击搜索框的时候会弹出一个键盘,我们需要点击空白处就隐藏键盘,这时候大家可能想到的事在UITableViewcontroller中重写touchesBegan方法,但是发现这个方法并没有响应,我猜想可能是被屏蔽了,那我们该怎么做呢?下面我说一下实现思路:

    1.自定义一个类继承UITableView然后重新touchesBegan然后写一个代理提供一个隐藏键盘的方法,代码如下: 

    import UIKit

    //搜索时点击空白处隐藏键盘

    protocol SearchTableViewDelegate { 

        func hideKeyBoard()

     }

    class SearchTableView: UITableView {

     

        var mDelegate:SearchTableViewDelegate!

        required init?(coder aDecoder: NSCoder) {

         

            super.init(coder: aDecoder)

        }

        

        override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {

          

            if mDelegate != nil{

            mDelegate.hideKeyBoard()

            }

        }

    }

    2.调用

    注意:在调用之前一定要将UITableViewController中的UITableView设置成自己定义的那个UITableView否则不会有效果切记

    import UIKit

    //搜索

    class SearchTableViewController: UITableViewController,SearchTableViewDelegate{

     

        @IBOutlet var mSearchTableView: SearchTableView!

        var searchBar:UISearchBar!

        override func viewDidLoad() {

            super.viewDidLoad()

            mSearchTableView.mDelegate=self

            

            addSearchBar()

           

        }

     

        //在导航栏添加搜索框

        func addSearchBar()  {

             self.searchBar = UISearchBar(frame:CGRect(x:0,y:0,self.view.bounds.width,height:44))

             self.navigationItem.titleView=searchBar

        }

        

        //点击屏幕空白处退出键盘

        

        func hideKeyBoard() {

          

            self.searchBar.resignFirstResponder()

        }

  • 相关阅读:
    C#基于LibUsbDotNet实现USB通信(一)
    Visual Studio 删除空行
    不安全代码只会在使用 /unsafe 编译的情况下出现
    VS2013 中 CString类型转换为LPCSTR类型
    Linux 下各文件夹的含义
    每日算法---Two Sum
    跟我一步一步写出MongoDB Web 可视化工具(二)
    跟我一步一步写出MongoDB Web 可视化工具(一)
    springcloud 微服务之间传递token解决方案
    Git设定不合并的文件
  • 原文地址:https://www.cnblogs.com/zzjbk/p/6295771.html
Copyright © 2011-2022 走看看