2010年09月21日

【iPhone SDK】UITextViewの入力フォーカス関連

UITextViewを含む画面を表示時にテキストがあらかじめセットされており、
いきなりUITextViewにフォーカスがある状態にする。
そして入力カーソルは文字列の先頭にある。

という案件を満たすため、調べた結果をメモします。

100枚390円からのデータ入稿専門店「激安名刺ドットコム」
・初期フォーカスを設定する

UITextView* textView = [[UITextView alloc] initWithFrame: CGRectMake(x, y, w, h)];
[textView becomeFirstResponder]; // 初期フォーカス

becomeFirstResponderを指定することで表示された瞬間にキーボードが表示されていると思います。

・入力カーソルを先頭に移動させる
通常、初期フォーカスを入れただけだと
既に入力されている文字列の最後尾にフォーカスがあります。
これを先頭に移動させるためにはデリゲートを使います。

textView.delegate = self;   // デリゲート

これを定義した上でデリゲート関数を作成します。

- (BOOL) textViewShouldBeginEditing: (UITextView*) textView {
 // 構造体を生成
 NSRange range;
 // 先頭
 range.location = 0;
 // 選択文字数0
 range.length = 0;
 
 textView.selectedRange = range;
 
 return YES;
}

編集開始していいのかを返すデリゲート関数です。
フォーカスが入った瞬間に呼ばれる関数なので、ここでNSRangeの構造体で先頭を指定し、テキストビューにセットすることで実現できました。

100枚390円からのデータ入稿専門店「激安名刺ドットコム」
ラベル:iPhone Xcode UITableView
posted by ヒイロ at 17:50| 福岡 ☁| Comment(0) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。