Swift UIScrollView:键盘不会以交互方式关闭 [英] Swift UIScrollView : keyboard doesn't dismiss interactively

查看:19
本文介绍了Swift UIScrollView:键盘不会以交互方式关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想以交互方式关闭键盘,但我的代码不起作用.我不知道为什么.当我尝试键盘关闭模式 onDrag 时,它工作正常,不需要更多代码.这是我的代码:

I want to dismiss the keyboard interactively, but my code is not working. I don't know why. When I try the keyboard dismiss mode onDrag it is working fine and there is no need of any more code for that. Here is my code :

  import UIKit

    class LoginViewController: UIViewController, UITextFieldDelegate{
        @IBOutlet weak var txtUserName: UITextField!

        @IBOutlet weak var txtPassword: UITextField!

        @IBOutlet weak var scrollView: UIScrollView!


        override func viewDidLoad() {
            super.viewDidLoad()
            self.navigationController?.navigationBarHidden = false;
            scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissMode.Interactive
            // Do any additional setup after loading the view.
        }



        @IBAction func LoginTapped(sender: AnyObject) 
{
              //here my code which is running 
        }
        func textFieldShouldReturn(textField: UITextField!) -> Bool {   //delegate method
            textField.resignFirstResponder()
            return true
        }



       override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {

         scrollView.keyboardDismissMode = UIScrollViewKeyboardDismissMode.Interactive
        }
    }

这是模拟器的截图

请看一下,如果可能,请告诉我错误在哪里.

Please take a look and if possible let me know where the error is.

推荐答案

使用此代码.当您点按屏幕上的任意位置时,这将结束编辑.

Use this code. This will end editing when you tap anywhere on the screen.

 override func viewDidLoad() {
        super.viewDidLoad()

    //Looks for single or multiple taps. 
    var tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "DismissKeyboard")
    view.addGestureRecognizer(tap)
}

//Calls this function when the tap is recognized.
func DismissKeyboard(){
    //Causes the view (or one of its embedded text fields) to resign the first responder status.
    view.endEditing(true)
}

希望有所帮助.

这篇关于Swift UIScrollView:键盘不会以交互方式关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆