У меня есть эта структура:Как убрать клавиатуру при касании вне текстового поля?
ViewController
|
MainView <-- Give a Tap value =1
|
ScrollView
|
View <-- give a Tag value =2
|
another View use to contain textFields <-- give a tap value =3
The View имеет такую же ширину, как и Scrollview MainView.
Ширина «Другой вид» не такая же, как «Вид». В «другом представлении» у меня есть несколько текстовых полей.
Проблема: коснувшись вида или вне текстового поля, клавиатура не будет удалена.
У меня есть это для клавиатуры, но это не сработало.
override func toucheBegan(touches: Set<UITouch>, withEvent event:UiEvent?){
if (view.tag == 1) {
//- this refer to main view
view.endEditing(true)
} else {
//- this refer to the other view.
view.endEditing(true)
}
--Upate:<br/>
override func toucheBegan(touches: Set<UITouch>, withEvent event:UiEvent?){
self.view.endEditing(true) // with or without self
}
Вы не проверяете правильный тег. Вы проверяете основной тег вида –
Установили ли вы userInteractionEnabled в представлении? – SeanLintern88
Должен ли я помещать значение тега для каждого вида (Main View, View, другой вид)? Как указать, какой из них можно было бы коснуться на экране «Вид», а другой вид - только в том случае, если «Основной вид» находится за представлением. настроили UserInteractionEnabled для 3 просмотров. – MilkBottle