Hatena::Groupiphone-dev

とあるiPhone開発者とゲームエンジン このページをアンテナに追加

2008-11-16UITextField覚え書き このエントリーを含むブックマーク

今日、UITextFieldではまったところの覚え書き


-(void)setText でテキストが設定できない

画面が表示される前に初期化しようと viewWillAppear で初期化しようとしたがうまく動作せず。

viewDidAppear で設定するようにしたらうまくいった。


// NG
- (void) viewWillAppear: (Boolean)animated
{
  [super viewWillAppear:animated];
  [_textField setText:@"NG ... "];
}

// OK
- (void) viewDidAppear: (Boolean)animated
{
  [super viewDidAppear:animated];
  [_textField setText:@"OK!!"]
}

入力時にURL入力に特化したキーボードにしたい

Interface Builder で Keyboard Type に "URL" を指定。

もしくは、

_textField.keyboardType = UIKeyboardTypeURL;

フォーカスされた時に既に入力されていた文字が消えない様にしたい

_textField.clearsOnBeginEditing = NO;

SafariURL一括削除のような (×) ボタンを追加したい

clearButtonMode で設定を変更できる

_textField.clearButtonMode = UITextFieldViewModeWhileEditing;

Doneされた時にキーボードを非表示にしたい

NSTextFieldDelegater でtextFieldShouldReturnを処理する。

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
  [editTextView resignFirstResponder];
  return YES;
}

下のサイトが参考になった

【Done選択時にキーボードを自動的に非表示とするには】

http://amsoft.minidns.net/node/140

HashibutoKarasuHashibutoKarasu2009/07/15 09:46>viewWillAppear で初期化しようとしたが
IBでUITextFieldに"Clear When Editting Begins"の設定がされているとviewWillAppearで設定した値が表示の前に消されてしまいます
古い記事ですが、同じところでハマっている人がいるかも知れないのでコメント書かせていただきました