これをIOS6デバイスのみに絞り込みました。
元の質問:
私はどこでも検索してすべてを試しましたが、これを理解することはできません!
私は持っていUITextField
ます。選択すると、キーボードが上にスライドし、テキストフィールドでカーソルが点滅し始めます。キーボードのボタンをタップすると、すべてが正常に動作し、キーが応答し、カーソルの点滅が停止します。唯一のことは、テキストがテキストフィールドに配置されないことです。ただし、絵文字キーボードからの入力は受け付けます。どんな助けでも大歓迎です!
UITextField
の作成方法は次のとおりです。
UITextField *userInput = [[UITextField alloc] initWithFrame:CGRectMake(10, yPos, controlWidth, 26)];
yPos += 32;
[userInput setText:[prompt defaultValue]];
[userInput setPlaceholder:[prompt helpText]];
[userInput setBorderStyle:UITextBorderStyleRoundedRect];
[userInput setClearButtonMode:UITextFieldViewModeWhileEditing];
[userInput setFont:[UIFont fontWithName:@"Helvetica" size:18]];
[userInput setAdjustsFontSizeToFitWidth:YES];
[userInput setMinimumFontSize:10];
[userInput setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[userInput setDelegate:self];
[self.scrollView addSubview:userInput];
[self.promptControls addObject:userInput];
[userInput release];
これはforループ内にあるため、UITextField
sの数はループが呼び出される回数によって異なります。
これらは私が使用するデリゲートメソッドです:
- (void)textFieldDidBeginEditing:(UITextField *)aTextField
{
self.activeField = aTextField;
}
- (void)textFieldDidEndEditing:(UITextField *)aTextField
{
self.activeField = nil;
}
- (BOOL)textFieldShouldReturn:(UITextField *)aTextField
{
[aTextField resignFirstResponder];
return YES;
}
activeField
は、現在アクティブなフィールドを判別するためのViewControllerのプロパティです。
これがすべての関連コードだと思います