タップ認識
1、「閉じる」ボタンを置いたUIViewがあります。
2、このViewを「表示」ボタンを置いたViewControllerがあります。
3、UIViewをViewControllerにaddして、setHidden:YESにしておきます。
4、「表示」ボタンを押すとViewをsetHidden:NOにします。
5、表示されたViewにある「閉じる」ボタンを押すと、setHidden:YESにして隠します。
ボタン以外のところに触れてもsetHidden:YESにしたいです。
6、というわけでUIGestureRecognizerをUIviewに追加します。これでタップイベントが拾えます。
7、すると、タップイベントは拾えるようになったのですが、ボタンが押せなくなってしまいました...orz
こんなときの解決法は以下。
--------------------------------------------------------------------------------
UIGestureRecognizerをUIViewに組みこむと、ほかのタッチイベントが無効になります。
それを避けるには、UIGestureRecognizerのプロパティ「cancelsTouchesInView」をNOにします。
--------------------------------------------------------------------------------
今回はGestureRecognizerをxibで付加してみたので、
その場合、xib画面でGestureRecognizerを選択して、
GestureRecognizerの設定(画面右側のやつです)の
「Events: Canceled in View」のチェックを外すと
このプロパティ指定ができます。
※例えばこのViewの下にScrollViewとかはさんじゃうとダメぽ(ω・`))キョロ(( ´・ω)
Scrollviewはタッチイベントを奪ってしまうので..
このへんはまだまだ勉強が必要!