内容の保証はできません。


/System/Library/frameWorks/UIKit.framework

クラス UITextField

NSObject
  |
  +--UIResponder
      |
      +--UIView
          |
          +--UIControl
               |
               +--UITextField

概要

UITextFieldクラスは、編集可能なテキストを表示し、ユーザが戻るボタンを押した時にターゲットオブジェクトにアクションメッセージを送信するコントロールです。通常このクラスはユーザや付近のアクションから少量のテキストを取得し、そのテキストをベースにして検索操作を実行するなどするのに利用します。

基本的なテキストの編集操作に加え、追加情報としてテキストフィールドの境界内にビューを重ねる(コマンドターゲット追加を提供する)ことをサポートしています。オーバーレイビューをカスタマイズすることでブックマークのボタンやサーチアイコンのような機能を表示する事も可能です。

テキストフィールドオブジェクトは、テキスト編集に関連する通知を処理するためのデリゲートオブジェクトの使用をサポートしています。このデリゲートを利用する事で、コントロールの編集動作をカスタマイズしたり、特定のアクションが発生した時に利用者にガイダンス(案内)を提供することができます。

デリゲートの詳細に付いてはUITextFieldDelegate?のリファレンスを参照してください。

キーボードの管理

編集可能なテキストをタップした時、テキストビューはファーストレスポンダとして、キーボードを表示させるシステム自動的に呼び出します。キーボードはユーザインタフェースの一部にするには曖昧な位置づけであり、キーボードの発生をユーザにゆだねた場合、複数のビューの位置づけが不明瞭になる可能性を生じかねません。そのため、キーボードは自動的に生成されるようになっているのです。テーブルビューのような一部のシステムビューはスクロールすることによって、ファーストレスポンダを自動的にビューの中に収める手助けをします。ファーストレスポンダがスクロール領域の下部にある場合、それが見えるようにするために、スクロールビューのサイズと位置を変更する必要があります。

アプリケーションは、キーボードをユーザが望むタイミングで非表示にする責任を負います。キーボードを非表示にするには、特定のボタンをタップするなど、特定のユーザーアクションに反応して処理されます。現在のファーストレスポンダであるTextViewに、resignFirstResponderメッセージを送ることによって、TextViewオブジェクトは(デリゲートオブジェクトの同意を得て)現在のテキスト編集の終了とキーボードの非表示を行うことが出来ます。

キーボード自体の外観はUITextInputTraitsプロトコルを使用してカスタマイズすることができます。TextViewオブジェクトがこのプロトコルを実装し、それを定義するプロパティをサポートしています。キーボードのタイプを指定する為のプロパティ(ASCII、テンキー、URL、メール等)も用意されています。また、テキストを自動的に大文字にしたり訂正したりするような、キーボードの基本的な入力動作の設定を行うことも可能です。

キーボードの通知

キーボードが表示または非表示になったとき、いくつかの通知オブジェクトが送信されます。これらの通知はキーボードの情報やそのサイズを含んでおり、ビューのサイズ変更または位置変更の計算のために使用することができます。これらの通知の登録はキーボードについての情報を取得する唯一の方法です。キーボードに関連するイベントの通知を提供するシステムを以下に記述します。

■ UIKeyboardWillShowNotification
■ UIKeyboardDidShowNotification
■ UIKeyboardWillHideNotification
■ UIKeyboardDidHideNotification

インデックス

テキスト属性へのアクセス

text property
placeholder property
font property
textColor property
textAlignment property

フィールドテキストのサイズ

adjustsFontSizeToFitWidth property
minimumFontSize property

編集動作の管理

editing property
clearsOnBeginEditing property

ビュー背景の外観を設定

borderStyle property
background property
disabledBackground property

オーバーレイビューの管理

clearButtonMode property
leftView property
leftViewMode property
rightView property
rightViewMode property

デリゲートへのアクセス

delegate property

描画や位置変更時にオーバーライドされるメソッド

– textRectForBounds:
– drawTextInRect:
– placeholderRectForBounds:
– drawPlaceholderInRect:
– borderRectForBounds:
– editingRectForBounds:
– clearButtonRectForBounds:
– leftViewRectForBounds:
– rightViewRectForBounds:

プロパティ

adjustsFontSizeToFitWidth

テキストのフォントサイズがテキストフィールドの境界より大き過ぎる場合に、フォントサイズを境界に合ったものに自動で調整するかどうかを決定する。

@property(nonatomic) BOOL adjustsFontSizeToFitWidth

background

テキストフィールドが有効時の背景イメージを指定する。

@property(nonatomic, retain) UIImage *background

borderStyle

テキストフィールドの境界のスタイルを指定する。

@property(nonatomic) UITextBorderStyle borderStyle

clearButtonMode

テキストを素早く削除するためのボタンを表示するかどうかを指定する。

@property(nonatomic) UITextFieldViewMode clearButtonMode

clearsOnBeginEditing

編集が開始された時に古いテキストを削除するかどうかを指定する。

@property(nonatomic) BOOL clearsOnBeginEditing

delegate

レシーバのデリゲートを指定する。

@property(nonatomic, assign) id<UITextFieldDelegate> delegate

disabledBackground

テキストフィールドが無効時の背景イメージを指定する。

@property(nonatomic, retain) UIImage *disabledBackground

editing

テキストフィールドが現在編集モードにあるかどうかを返す。

@property(nonatomic, readonly, getter=isEditing) BOOL editing

font

テキストのフォントを指定する。

@property(nonatomic, retain) UIFont *font

leftView

テキストフィールドの左側に表示されるオーバーレイビューを指定する。

@property(nonatomic, retain) UIView *leftView

leftViewMode

テキストフィールドの左側に表示されるオーバーレイビューを表示するかどうかを指定する。

@property(nonatomic) UITextFieldViewMode leftViewMode

minimumFontSize

テキストの最小フォントサイズを指定する。

@property(nonatomic)CGFloat minimumFontSize

placeholder

テキストフィールド上にテキストが入力されていない時に表示される文字列を指定する。

@property(nonatomic, copy) NSString *placeholder

rightView

テキストフィールドの右側に表示されるオーバーレイビューを指定する。

@property(nonatomic, retain) UIView *rightView

rightViewMode

テキストフィールドの右側に表示されるオーバーレイビューを表示するかどうかを指定する。

@property(nonatomic) UITextFieldViewMode rightViewMode

text

テキストフィールドに表示されるテキストを指定する。

@property(nonatomic, copy) NSString *text

textAlignment

テキストをアラインメント(整列のタイプ)を指定する。

@property(nonatomic) UITextAlignment textAlignment

textColor

テキストのカラーを指定する。

@property(nonatomic, retain) UIColor *textColor

インスタンスメソッド

borderRectForBounds:

レシーバの境界矩形を返す。

- (CGRect)borderRectForBounds:(CGRect)bounds

clearButtonRectForBounds:

クリアボタンを内蔵するための描画矩形を返す。

– (CGRect)clearButtonRectForBounds:

drawPlaceholderInRect:

指定した矩形境界にレシーバのプレースホルダーのテキストを描画する。

– (void)drawPlaceholderInRect:(CGRect)rect

drawTextInRect:

指定した矩形境界にレシーバのテキストを描画する。

– (void)drawTextInRect:(CGRect)rect

editingRectForBounds:

編集可能なテキストが表示可能な描画矩形を返す。

– (CGRect)editingRectForBounds:(CGRect)bounds

leftViewRectForBounds:

レシーバの左側のオーバーレイビューの描画矩形を返す。

– (CGRect)leftViewRectForBounds:(CGRect)bounds

placeholderRectForBounds:

テキストフィールドのプレースホルダーテキストの描画矩形を返す。

– (CGRect)placeholderRectForBounds:(CGRect)bounds

rightViewRectForBounds:

レシーバの右側のオーバーレイビューの描画矩形を返す。

– (CGRect)rightViewRectForBounds:(CGRect)bounds

textRectForBounds:

テキストフィールドのテキストの描画矩形を返す。

– (CGRect)textRectForBounds:(CGRect)bounds

コンスタント

UITextFieldBorderStyle

テキストフィールドの周りに描画される境界のタイプを決定する。

タイプ概要
UITextBorderStyleNone境界を表示しない
UITextBorderStyleLine細いラインで境界を表示する
UITextBorderStyleBezelベゼルスタイルで境界を表示する.一般的に標準的なデータ入力用フィールドに利用される境界スタイルである
UITextBorderStyleRoundedRect丸味を帯びたスタイルで境界を表示する.一般的にサーチボタンに利用される境界スタイルである

UITextFieldViewMode

テキストフィールド内のオーバーレイビューがいつ表示されるかを決定する。

モード概要
UITextFieldViewModeNeverビューは常に表示されない
UITextFieldViewModeWhileEditingビューはテキストが編集されている間だけ表示される
UITextFieldViewModeUnlessEditingビューはテキストが編集されていない時のみ表示される
UITextFieldViewModeModeAlwaysビューは常に表示される

通知

UITextFieldTextDidBeginEditingNotification

テキストフィールドで編集セッションが開始されたことをオブザーバーに通知する。対象のテキストフィールドは通知のオブジェクトパラメータに格納される。ユーザ情報辞書は使用されない。

UITextFieldTextDidChangeNotification

テキストフィールドのテキストが変更されたことをオブザーバーに通知する。対象のテキストフィールドは通知のオブジェクトパラメータに格納される。

UITextFieldTextDidEndEditingNotification

テキストフィールドで編集セッションが終了したことをオブザーバーに通知する。対象のテキストフィールドは通知のオブジェクトパラメータに格納される。ユーザ情報辞書は使用されない。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-02-09 (水) 16:29:34 (2478d)