私はこのような構造を持っている:テキストフィールドの外側をタッチするとキーボードを消す方法は?
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
ビューは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
各ビュー(メインビュー、ビュー、別のビュー)にタグ値を設定する必要はありますか?ユーザーがViewに触れることができたときに、どのビューを参照し、メインビューとしてのみ他のビューを参照するかは、ビューの背後にあります。 3つのビューに対してUserInteractionEnabledを設定しました。 – MilkBottle