しかしながら、UIViewクラスはタッチイベントをハンドリングすることができません。
そこで、ベースとなるクラスをUIViewクラスを継承したUIControlクラスとすると、部品以外の部分でもタッチイベントを持つことができ、そのイベントをもとにコントロールすることができます。
よく、キーボードを消したいのに消せないアプリがありますが、それはUIControlクラスをベースとしていないか、テキストフィールド以外をTouchUpしたとき、キーボードを消すためにテキストフィールドクラスををFirstResponderからはずす(resignする)resignFirstResponderメソッドを構成し、アクションとして呼び出していないためのようです。
- (IBAction) backgroundTap:(id)Tap{
[Name resignFirstResponder];
[Number resignFirstResponder];
以下では、デフォルトで「View」となっているnibのインスタンスが、「Control」となり、「Control」のTouch Dounイベントが、File's Ownerのアクションと接続されているのがわかるかと思います。要注意ですね。
0 件のコメント:
コメントを投稿