コントロールオブジェクト


コントロールは、ユーザーがボタンをクリックしたり、スライダをドラッグするなどの特定の方法で別のオブジェクトにメッセージを送信する、ユーザーインターフェイスの中のビューのタイプです。コントロールは、ターゲット·アクションモデル内のエージェントです。コントロール(または OS X ではコントロールセル) は、メッセージを送信するために必要な情報を2つのビットで格納します:メッセージを受け取る為のオブジェクト(ターゲット) とターゲット(アクション) を特定し引き起こす為のメソドを識別するセレクタです。ユーザが特定の方法でコントロールを操作すると、それはアプリケーションオブジェクトにメッセージを送信し、ターゲットにアクションメッセージを転送します。


target_action



コントロールの抽象基本クラスは、UIKit フレームワークでは UIControl で、AppKit フレームワークでは、NSControl です。すべてのコントロールは、これらの基本クラスの具象サブクラスのインスタンスです。これらのフレームワークのコントロールの一般的なタイプは、ボタン、スライダ、およびテキストフィールドです。UIKit と AppKit もそれぞれのプラットフォームに固有のコントロールがあり、例えば、ページコントロール(UIKit) とカラーウェル(OS X) です。


AppKit ではコントロールは複数のセルを持てます


AppKit フレームワークのほとんどのコントロールは、それらに関連する複数のセルオブジェクトを持っています。セルは NSCell から直接または間接的に継承したクラスのインスタンスです。その主な役割は、そのコントロールのためのターゲットオブジェクトとアクションセレクタを格納することです。セルはビューではありませんが、それはそれ自身を描画し、イベントに応答しますが、そのコントロールから指示があった場合のみです。コントロールセルアーキテクチャ において、コントロールは、そのセル(又は複数のセル) のための正面図であり、それはセルの挙動を管理し、構成し、その独特のユーザイベントが発生したときにアクションメッセージを送信します。


UIKit では、コントロールイベントはアクションメッセージが送られた時を決定する


コントロールイベントは、コントロールの UIKit フレームワーク設計の側面です。UIKit では、ターゲットとアクションセレクタはアクションメッセージの形式を決定しますが、複数のコントロールイベントは、また、メッセージが送信される ときを 決定し、コントロールにも関連付けられています。コントロールイベントは、タッチ(例えば、UIControlEventTouchUpInside)、セッション編集相(例えば、UIControlEventEditingDidEnd)、または値の変更(UIControlEventValueChanged) の動作を表す列挙定数(enum constant) です。一つのコントロールで複数のコントロールイベントを関連付けることができ、これらの定数のいずれかひとつで表されるアクションが発生した場合、コントロールはターゲットにアクションメッセージを送信します。


一部のコントロールには、特定のコントロールイベントが設定されている必要があります。例えば、 UIControlEventValueChanged コントロールイベントが成立したときにのみ、UISwitch オブジェクトが、アクションメッセージを送信します。


前提条件の記事


セレクタ

ターゲットアクション


関連記事

アプリケーションオブジェクト


既知のディスカッション


コントロールとセルのプログラミングトピックス


サンプルコードプロジェクト

ClockControl

DatePicker





目次
Xcode の新機能

  • アニメーション
  • コア・アニメーションは力を与える
    アニメーション必要条件
    暗黙・明示にアニメーション
    Platform 毎の Core Animation 統合
  • アプリケーションオブジェクト
  • アプリ Object は外部 delegate に通知
    アプリはアプリオブジェクト持つ
  • コントロールオブジェクト
  • UIKitでActMessageがEventを決定
    AppKitでControlは複数のセルを持つ
  • 座標系
  • 座標系は異なる描画方向を持てる
    ウインドウとビューは独自座標系
  • ドローイングモデル
  • ビューは自分自身を描画
    グラフィックコンテクスト
    描画はビューローカル座標系で
  • イベント(iOS)
  • オブジェクトはビューに触れる指を表現
    タッチオブジェクトの配信は、定義された経路をたどる
    イベントを処理するために4つのメソッドをオーバーライド
    モーションイベントの処理
  • フォーマッタ
  • フォーマッタの設定と適用
    OSXでセルにフォーマッタを添付
  • メインイベントループ
  • アプリケーションオブジェクト取得
    コアオブジェクトはイベントに応答
  • アウトレット
  • ターゲットアクション
  • アクションメソッドは特定の形式
    ツールの使用でターゲット設定
    ターゲットアクションと OS
  • アンドゥ・マネージャー
  • 取り消しの操作はオブジェクトに
    取り消し操作はスタックに
    操作は取り消しグループに合体
    取り消しを要求する方法
    取消マネージャとレスポンダ
    取消を要求ユーザーインタフェース
  • ビュー階層
  • 表示プロパティは、階層の関係定義
    iOS ではウィンドウはビューです
  • ビュー・オブジェクト
  • ビューのの中核プロパティ
    ビューはアニメーションの本質
  • ストーリーボード
  • シーンは唯一のビュー·コントローラとそのビューに対応
    セグエが2つのシーン間の遷移を管理
  • ウインドウ・オブジェクト
  • ウインドウがイベント配布
    iOS のウィンドウオブジェクト
    OS X のウィンドウオブジェクト
  • ペーストボード
  • ペーストボードは多くの項目を保持
    ペーストボードの持続性
  • 環境設定
  • 各ユーザー設定はドメインに属する
    アプリは環境設定の選択を提示
    ユーザーデフォルト設定で OS X
  • レスポンダ・オブジェクト
  • ファーストレスポンダは最初に受信
    レスポンダチェーンと協調イベント