UIControl
UIControlクラスは、ユーザのアクションを管理するクラスです。
UIControlのクラス階層
UIControlのプロパティ
| プロパティ名/型 | 読専 | 説明 |
|---|---|---|
| contentVerticalAlignment (UIControlContent VerticalAlignment) |
縦揃えを設定する UIControlContentVerticalAlignmentTop:上寄せ UIControlContentVerticalAlignmentCenter:中央寄せ UIControlContentVerticalAlignmentBottom:下寄せ |
|
| selected (BOOL) |
フォーカス状態を取得・設定する YES:選択状態である。 NO:選択状態でない。 |
|
| state (UIControlState) |
○ | 状態を取得する UIControlStateNormal:デフォルト UIControlStateDisabled:無効 UIControlStateSelected:選択状態 UIControlStateHighlighted:ハイライト状態 |
主要なプロパティのみ掲載しています。
上記「UIControlのクラス階層」にあるクラスのプロパティも使用できます。
UIControlのメソッド
| メソッド名 | 説明 |
|---|---|
| -(void)addTarget: (id)target action:(SEL)action forControlEvents: (UIControlEvents)controlEvents |
イベントと処理をひも付ける ※例文は下記「例1」を、イベントは下記「イベント欄」を参照 |
| -(BOOL)becomeFirstResponder | 対象コントロールをファーストレスポンダにする。 (フォーカスを当てる) (例)[tf becomeFirstResponder]; ※tfはUITextFieldのインスタンス |
| -(BOOL)regionFirstResponder | 対象コントロールをファーストレスポンダでなくす。 (フォーカスを外す) (例)[tf regionFirstResponder]; ※tfはUITextFieldのインスタンス |
主要なメソッドのみ掲載しています。
上記「UIControlのクラス階層」にあるクラスのメソッドも使用できます。
// 例1 ボタン(btn)がタッチダウンされた時にhogeメソッドを呼ぶようにする
[btn addTarget:self action:@selector(hoge:)
forControlEvents:UIControlEventTouchDown];
// 呼ばれるhogeメソッド
-(void)hoge:(id)sender{
// 処理
}
イベント
UIControlで拾えるイベントには以下のようなイベントがあります。
ここに載せているものは主要なものであり、他にもたくさんあります。
| イベントの種類 | 説明 |
|---|---|
| UIControlEventTouchDown | タッチダウン |
| UIControlEventTouchDownRepeat | 複数回のタッチダウン |
| UIControlEventTouchUpInside | コントロール内でのタッチアップ |
| UIControlEventTouchUpOutside | コントロール外でのタッチアップ |
| UIControlEventTouchDownRepeat | 複数回のタッチダウン |
| UIControlEventTouchDragInside | コントロール内でのドラッグ |
| UIControlEventTouchDragOutside | コントロール内から外へのドラッグ |
| UIControlEventDragEnter | コントロール外から内へのドラッグ |
| UIControlEventValueChanged | コントロールのvalue値が変化した |
| UIControlEventEditingDidBegin | 編集開始 |
| UIControlEventEditingChanged | 編集により値が変化した |
| UIControlEventEditingDidEnd | 編集終了 |
| UIControlEventEditingDidEndOnExit | 編集終了後フォーカスが外れた |
| UIControlEventAllTouchEvents | タッチイベント発生時(種類問わず) |
| UIControlEventAllEditingEvents | 編集イベント発生時(種類問わず) |
| UIControlEventAllEvents | イベント発生時(種類問わず) |

