加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift开发笔记12-点击屏幕 收回键盘

发布时间:2020-12-14 01:43:12 所属栏目:百科 来源:网络整理
导读:有时界面使用tableview布局, 其中有文本输入框的单元格,当键盘弹出后, 收回键盘很简单就是: workcontent.resignFirstResponder() 通常是textfield和textview点击键盘return(换行)键时收回,并且也能点击表格空白处收回 1、 点击键盘return键返回需要vi

有时界面使用tableview布局, 其中有文本输入框的单元格,当键盘弹出后, 收回键盘很简单就是:

workcontent.resignFirstResponder()


通常是textfield和textview点击键盘return(换行)键时收回,并且也能点击表格空白处收回

1、 点击键盘return键返回需要viewcontroller实现委托

class ViewController: UIViewController,UITextFieldDelegate,UITextViewDelegate {
//此处省略引用声明
//通过委托来实现放弃第一响应者
    //UITextField Delegate Method
    func textFieldShouldReturn(textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }
    
    //通过委托来实现放弃第一响应者
    //UITextView Delegate  Method
    func textView(textView: UITextView,shouldChangeTextInRange range: NSRange,replacementText text: String) -> Bool {
        if (text == "n") {
            textView.resignFirstResponder()
            return false
        }
        return true
    }


}

但是按键到return无法让键盘消失,这是因为你的文本框没有添加委托。

添加委托的方法,右键文本框,把outlets下的+拉到file's owner(一个透视的正方体)上就可以了。

或者在加载事件中添加txtLength.delegate=self;

(添加委托的操作 来自:http://blog.csdn.net/peyfey/article/details/42423617)

2、点击空白收回键盘:

点击UITextField以外的区域,实际是点击了tableView,tableView捕获点击事件,可它不会传递该事件。怎么办呢?

网上有很多方法了,我找到一种简单可用的办法:addGestureRecognizer

class AddDayReportViewController: UITableViewController {

        
    @IBOutlet weak var workcontent: UITextView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
       
        //注册点击事件
        view.addGestureRecognizer(UITapGestureRecognizer(target: self,action: "handleTap:"))
    }

    func handleTap(sender: UITapGestureRecognizer) {
        if sender.state == .Ended {
           print("收回键盘")
          workcontent.resignFirstResponder()
        }
        sender.cancelsTouchesInView = false
    }

}

亲测可用!!

UIGestureRecognizer类用于手势识别,它的子类有主要有六个分别是:

UITapGestureRecognizer(轻击一下)

UIPinchGestureRecognizer(两指控制的缩放)

UIRotationGestureRecognizer(旋转)

UISwipeGestureRecognizer(滑动,快速移动)

UIPanGestureRecognizer(拖移,慢慢移动)

UILongPressGestureRecognizer(长按)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读