プログラムによるUITextFieldの生成
テキストフィールドをプログラム文だけで生成する場合の例を書きます。
lbというUILabelや各設定の意味は、前回のテキストフィールド徹底マスターの記事で大体分かりますのでそちらをご参照下さい。
viewDidLoad内で生成・配置してみます。
- (void)TextSet:(UITextField*)textfield { //テキスト編集が完了し、フォーカスが外れたらラベルに表示する lb.text = textfield.text; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. //テキストフィールドの生成 UITextField *tf = [[UITextField alloc] initWithFrame:CGRectMake(80, 40, 160, 30)]; //プレースフォルダのテキスト文を設定 tf.placeholder = @"ここに入力"; //テキストの文字色 tf.textColor = [UIColor blueColor]; //フォントの設定 tf.font = [UIFont fontWithName:@"Helvetica-Bold" size:12]; //テキストの横揃え tf.textAlignment = NSTextAlignmentLeft; //テキストフィールドのスタイルを設定 tf.borderStyle = UITextBorderStyleRoundedRect; //入力時のキーボードの種類を設定 tf.keyboardType = UIKeyboardTypeAlphabet; //入力完了時のリターンキーの種類を設定 tf.returnKeyType = UIReturnKeyGo; //クリアボタンの表示設定 tf.clearButtonMode = UITextFieldViewModeAlways; //イベントへの関連付け(テキストの編集完了時に呼び出し) [tf addTarget:self action:@selector(TextSet:) forControlEvents:UIControlEventEditingDidEndOnExit]; //テキストフィールドの設置とメモリ解放 [self.view addSubview:tf]; [tf release]; }
上記のプログラムで大体の設定はできるので、
これをコピペして後は自分の変えたい部分だけカスタマイズすればよいでしょう。
イベントはTextSetのメソッドに紐付けられているので、
テキストの編集が完了すると、TextSetのメソッドが呼び出されます。
※今回の例の場合、テキストフィールドに入力した文字列をラベルに表示します。
設定で必要そうな部分を辞書的にまとめておきました。
テキストフィールドのスタイル設定
変数名.borderStyle = スタイルプロパティ値;
プロパティ値 | 画像 |
---|---|
UITextBorderStyleBezel | ![]() |
UITextBorderStyleLine | ![]() |
UITextBorderStyleNone | ![]() |
UITextBorderStyleRoundedRect | ![]() |
テキスト入力時のキーボードの種類
変数名.keyboardType = タイププロパティ値;
プロパティ値 | 画像 |
---|---|
UIKeyboardTypeDefault | ![]() |
UIKeyboardTypeAlphabet | ![]() |
UIKeyboardTypeASCIICapable | ![]() |
UIKeyboardTypeNumbersAndPunctuation | ![]() |
UIKeyboardTypeURL | ![]() |
UIKeyboardTypeEmailAddress | ![]() |
UIKeyboardTypeNumberPad | ![]() |
UIKeyboardTypePhonePad | ![]() |
UIKeyboardTypeNamePhonePad | ![]() |
UIKeyboardTypeDecimalPad | ![]() |
UIKeyboardTypeTwitter | ![]() |
リターンキーの種類
変数名.returnKeyType = タイププロパティ値;
意味は分かると思うので、以下にタイプだけ列挙しておきます。
UIReturnKeyDefault / UIReturnKeyDone / UIReturnKeyEmergencyCall
UIReturnKeyGo / UIReturnKeyGoogle / UIReturnKeyJoin / UIReturnKeyNext
UIReturnKeyRoute / UIReturnKeySearch / UIReturnKeySend / UIReturnKeyYahoo
クリアボタンの表示設定
変数名.clearButtonMode = モードプロパティ値;
プロパティ値 | 説明 |
---|---|
UITextFieldViewModeAlways | 常に表示 |
UITextFieldViewModeNever | 常に非表示 |
UITextFieldViewModeUnlessEditing | 編集していないときだけ表示 |
UITextFieldViewModeWhileEditing | 編集しているときだけ表示 |