2017-02-07 8 views
0

Перед добавлением UIScrollView мой touchesBegan уволит клавиатуру. Начиная с добавления прокрутки, ничто не отменяет. Я добавил @IBOutlet weak var scrollView: UIScrollView!, затем внутри touchesBegan(): self.scrollView.endEditing(true), тот же выпуск.Отключить клавиатуру с UIScrollView

Как убрать клавиатуру с видом прокрутки над основным видом?

ответ

1

Вашего scrollview улавливают сенсорное событие. Вместо этого добавьте UITapGesture к основному виду (self.view), чтобы закрыть клавиатуру. Просто убедитесь, что вы назначили cancelsTouchesInView=false жестом кран.

+0

Спасибо за это. Я добавлю свой ответ, чтобы сделать его более понятным для публики. – Sylar

+1

удивительный, рад помочь! – rmp

0

Можете ли вы попробовать сделать это на ScrollViewdidScroll метод?

А также вы можете сделать self.view.endEditing(true)

+0

Im в настоящее время делает некоторые чтения, поскольку 'touchhesBegan()' не вызывается при касании scrollview. – Sylar

0

Добавлен ответ @ RMP, я хочу, чтобы понять, что значит делать:

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

Добавление UITapGesture в viewDidLoad:

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) 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^