UIcontrolオブジェクトの紹介

1405 ワード

UIcontrolはUIViewのサブクラスであり、もちろんUIresponderのサブクラスでもある.UIcontrolはUIButton、UIswitch、UItextFieldなどのコントロールの親であり、それ自体にもいくつかの属性と方法が含まれていますが、UIcontrolクラスを直接使用することはできません.これはサブクラスが使用する方法を定義しているだけです.
UIcontrolオブジェクトは、前節で直接処理したタッチイベントを簡単な操作に変換する新しいイベント処理メカニズムを採用しており、ユーザーがコントロールにアクセスする具体的な方法に関心を持たなくてもよい.タッチイベントがUIcontrolオブジェクト(応答者チェーンによって派遣される)に到達すると、UIresponderの方法(touchBegan:withEventなど)では、UIcontrolは標準的なタッチイベントを特殊なコントロールイベントに変換し、簡単な理解は、UIcontrolが複雑なタッチイベントを簡単で使いやすいコントロールイベントにカプセル化することである.例えば、UIcontrolオブジェクト処理によって、タッチスクリーンの操作プロセス全体を判断することなく、ボタンを押したイベントがコントロールイベントとしてカプセル化される.たとえば、ボタンのクリックイベント:UIcontrolEventTouchUpInside
UIcontrolは、まずタッチイベントをコントロールイベントに変換し、受信再生付き操作に変換する必要があることを知っておく必要があります.2回目の変換のコードを作成するだけで、コントロールイベントをターゲットのある操作に変換します.
addTarget:action:forControlEventsを使用するこれはUIcontrolの1つの方法で、指定したコントロールオブジェクトにイベントを追加します.たとえば、[controlObj addTarget:recepientObj action @selector(method) froControlEvents : UIControlEvents]; controlObjはイベントに応答するコントロールオブジェクトです.パラメータreceientObjは、メッセージをどこに送信するか、一般的にselfであり、通常はコントロールオブジェクトをインスタンス化するコントローラを指す.Actionの後ろにはセレクタがあり、そのイベントに応答する方法が必要であることを示しています.イベントが何をするかは実はこの方法に書かれています.最後に、どのようなイベントに応答するかを示すイベントタイプです.
使用する2つの方法:1.コードを使用してコードにボタンを新規作成し、ボタンオブジェクトにaddTarget:action:forControlEventsメソッドを追加し、応答メソッドを記述します.2.IBでコントロールキーを押したまま、マウスをクリックしてボタンから対応する.hファイルにドラッグすると、IBActionメソッドが確立され、このメソッドではイベントロジックを記述することでイベント応答が完了し、このメソッドでは第1の方法よりも直感的で、開発効率も高い.