2017-02-07 12 views
0

UIScrollViewを追加する前に、touchesBeganはキーボードを閉じます。スクロールビューを追加してから、何も無視されます。私はtouchesBegan()の中に@IBOutlet weak var scrollView: UIScrollView!を追加しました:self.scrollView.endEditing(true)、同じ問題。キーボードをUIScrollViewで終了する

メインビューの上のスクロールビューでキーボードを解除するにはどうすればよいですか?

答えて

1

self.view.endEditing(true)は、タッチイベントをインターセプトされて行うことができます。キーボードを閉じるには、UITapGestureをメインビュー(self.view)に追加します。タップジェスチャーにcancelsTouchesInView=falseを割り当ててください。 RMPの答えを@に追加しました

+0

ありがとうございました。私はそれを公衆に明瞭にするために私の答えを加えました。 – Sylar

+1

素晴らしい、喜んで助けて! – rmp

0

ScrollViewdidScrollの方法でこれを試すことはできますか?

そしてまた、あなたはあなたのscrollview

+0

現在、 'touchesBegan()'がスクロールビューにタッチされたときに読み込まれていません。 – Sylar

0

は、私がやって何を意味するかそれを明確にしたい:

// Add an outlet for the scroll view 
@IBOutlet weak var scrollView: UIScrollView! 

viewDidLoadUITapGestureを追加:

のviewDidLoad():

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

// Implementing the touch(), outside of viewDidLoad: 

func touch() { 
    //print("Touches") 
    self.view.endEditing(true) 
} 
関連する問題