textFieldShouldReturn func не работает на scrollView - PullRequest
0 голосов
/ 25 октября 2018

Как я могу сделать так, чтобы текст исчезал, когда пользователь нажимал на экран при активном UIscrollview

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        self.view.endEditing(true)
    }
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        textField.resignFirstResponder()
        return true
    }

Я использую типичную функцию для получения и отклонения клавиатуры

Я пытаюсьдо

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        UIScrollView.endEditing(true)
    }

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

в ViewDidLoad

let recognizer = UITapGestureRecognizer(target: self, action: #selector(self.touch))
        recognizer.numberOfTapsRequired = 1
        recognizer.numberOfTouchesRequired = 1
        elskrolll.addGestureRecognizer(recognizer)

elskroll должно быть вашим именем UIScrollView:

вне ViewDidLoad

@objc func touch() {
        //print("Touches")
        self.view.endEditing(true)
    }
0 голосов
/ 26 октября 2018

Это в viewdidLoad ()

let scrollViewTap = UITapGestureRecognizer(target: self, action: #selector(self.scrollViewTapped))
        scrollViewTap.numberOfTapsRequired = 1
        scroll_view.addGestureRecognizer(scrollViewTap)

и Это в классе

@objc func scrollViewTapped() {
        scroll_view.endEditing(true) 
        self.view.endEditing(true) // anyone
    }
...