ラベル UITextField の投稿を表示しています。 すべての投稿を表示
ラベル UITextField の投稿を表示しています。 すべての投稿を表示

2014年5月19日月曜日

UITextField : 縦方向のアライメントを中央揃えにする

UITextFieldの縦方向のアライメントを中央揃えにするにはcontentVerticalAlignmentにUIControlContentVerticalAlignmentCenterを設定する。

textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;

2013年11月22日金曜日

UITextField : 日本語変換状態を解除

UITextFieldDelegateのtextFieldDidChangeを使用して、規定の文字数が入力されたらEnter等を入力しなくても、次のUITextFieldへ入力が移るようにしたら、移った後は数字入力キーボードにしていても入力すると日本語変換状態になってしまった。
この日本語変換状態を解除したときのメモ

if (textField.markedTextRange) {
    [textField unmarkText];
    [textField reloadInputViews];
}

UITextField : 選択中の文字列や日本語変換中の文字列を取得する

UITextFieldから選択中の文字列や日本語変換中の文字列を取得するには、UITextInput ProtocolのselectedTextRange、 markedTextRange を使う。

NSString *text = [textField textInRange:textField.selectedTextRange];

NSString *text = [textField textInRange:textField.markedTextRange];

2013年11月8日金曜日

キーボードの非表示

UIView上にUITextFieldがいくつかあり、どのUITextFieldが入力状態にあっても入力状態ではなくして、ソフトウェアキーボードを非表示にするには、UIViewのendEditingを使う。

[self.view endEditing:YES];

2013年10月3日木曜日

キーボードの表示・非表示

UITextFieldやUITextViewにカーソルを当てソフトウェアキーボードを表示するには、becomeFirstResponderを使う。

[textField becomeFirstResponder];

UITextFieldやUITextViewからカーソルをはずしてソフトウェアキーボードを非表示にするには、resignFirstResponderを使う。

[textField resignFirstResponder];

2013年8月12日月曜日

UITextFieldをパスワード入力用にする

UITextFieldをパスワード入力用にする(入力文字を*で表示する)にはsecureTextEntryをYESに設定する。

textField.secureTextEntry = YES;

UITextFieldを編集不可にする

UITextFieldを編集不可にするにはenabledをNOに設定する。

textField.enabled = NO;

viewのsubviewになっているUITextFieldを全て編集不可、枠線なしにする。

for (UIView *view in self.view.subviews) {
    if ([view isKindOfClass:[UITextField class]]) {
        UITextField *textField = (UITextField*)view;
        textField.borderStyle = UITextBorderStyleNone;
        textField.enabled = NO;
    }
}

2013年8月11日日曜日

UITextField: 枠線、角丸めの変更

プロジェクトにQuartsCore.frameworkを追加して、QuartzCore/QuartzCore.h をimportする。


CALayerのプロパティで枠線を設定する。
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 20, 300, 30)];
// 角の丸め
textField.layer.cornerRadius = 10.0f;
// 枠色
[[textField layer] setBorderColor:[[UIColor grayColor] CGColor]];
// 枠太さ
[[textField layer] setBorderWidth:3.0];

UITextFieldをコードで作成する

// UITextFieldの作成
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 250, 30)];
// UITextFieldのテキスト
//textField.text = @"My Name";
// プレースホルダー
textField.placeholder = @"Input your name";
// アライメント(デフォルト:NSTextAlignmentLeft)
// NSTextAlignmentLeft:左寄せ, NSTextAlignmentCenter:中央, NSTextAlignmentRight:右寄せ
textField.textAlignment = NSTextAlignmentLeft;
// フォント
textField.font = [UIFont systemFontOfSize:14];
// テキストの色(デフォルト:blackColor)
textField.textColor = [UIColor blackColor];
// 背景画像
//textField.background = [UIImage imageNamed:@"DialogInput.png"];
// 枠(デフォルト:UITextBorderStyleNone)
// 枠なし:UITextBorderStyleNone, Rect表示:UITextBorderStyleLine, UITextBorderStyleBezel,
// 角丸:UITextBorderStyleRoundedRect
textField.borderStyle = UITextBorderStyleRoundedRect;

[self.view addSubview:textField];