プログラムによる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 UITextBorderStyleBezel
UITextBorderStyleLine UITextBorderStyleLine
UITextBorderStyleNone UITextBorderStyleNone
UITextBorderStyleRoundedRect UITextBorderStyleRoundedRect

 

テキスト入力時のキーボードの種類

変数名.keyboardType = タイププロパティ値;

プロパティ値 画像
UIKeyboardTypeDefault UIKeyboardTypeDefault
UIKeyboardTypeAlphabet UIKeyboardTypeAlphabet
UIKeyboardTypeASCIICapable UIKeyboardTypeASCIICapable
UIKeyboardTypeNumbersAndPunctuation UIKeyboardTypeNumbersAndPunctuation
UIKeyboardTypeURL UIKeyboardTypeURL
UIKeyboardTypeEmailAddress UIKeyboardTypeEmailAddress
UIKeyboardTypeNumberPad UIKeyboardTypeNumberPad
UIKeyboardTypePhonePad UIKeyboardTypePhonePad
UIKeyboardTypeNamePhonePad UIKeyboardTypeNamePhonePad
UIKeyboardTypeDecimalPad UIKeyboardTypeDecimalPad
UIKeyboardTypeTwitter UIKeyboardTypeTwitter

 

リターンキーの種類

変数名.returnKeyType = タイププロパティ値;

意味は分かると思うので、以下にタイプだけ列挙しておきます。

UIReturnKeyDefault / UIReturnKeyDone / UIReturnKeyEmergencyCall
UIReturnKeyGo / UIReturnKeyGoogle / UIReturnKeyJoin / UIReturnKeyNext
UIReturnKeyRoute / UIReturnKeySearch / UIReturnKeySend / UIReturnKeyYahoo

 

クリアボタンの表示設定

変数名.clearButtonMode = モードプロパティ値;

プロパティ値 説明
UITextFieldViewModeAlways 常に表示
UITextFieldViewModeNever 常に非表示
UITextFieldViewModeUnlessEditing 編集していないときだけ表示
UITextFieldViewModeWhileEditing 編集しているときだけ表示

コメントを残す

サブコンテンツ

このページの先頭へ