2

これを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ループ内にあるため、UITextFieldsの数はループが呼び出される回数によって異なります。

これらは私が使用するデリゲートメソッドです:

- (void)textFieldDidBeginEditing:(UITextField *)aTextField
{
    self.activeField = aTextField;
}

- (void)textFieldDidEndEditing:(UITextField *)aTextField
{
    self.activeField = nil;
}

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

activeFieldは、現在アクティブなフィールドを判別するためのViewControllerのプロパティです。

これがすべての関連コードだと思います

4

4 に答える 4

6

起動時にウィンドウを正しく設定していることを確認してください

そして、あなたが呼んでいること

[window setRootViewController:someViewController];

そうしないと、iOS6ではこれがエラーになります...

[window makeKeyAndVisible];

これは(省略して)エラーではありませんが、物事を奇妙な土地に投げ込み、結果としてうまく機能UITextViewしないようです。UITextField

のように...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

self.viewController = [[[MyViewController alloc] initWithNibName:nil bundle:nil] autorelease];

self.navigationController = [[[UINavigationController alloc] initWithRootViewController:self.viewController] autorelease];

[window setRootViewController:navigationController];

[window makeKeyAndVisible];

}
于 2012-10-16T17:52:21.460 に答える
0

コメントしてみてください[userInput setDelegate:self];

于 2013-02-27T12:40:25.640 に答える
0

よくわかりませんが、テキストの色の単純な問題かもしれません。テキストの色を設定してみてください。

[userInput setTextColor:[UIColor blackColor]];

お役に立てば幸いです。

于 2012-10-16T14:19:43.273 に答える
0

これは、キーウィンドウではなくウィンドウテキストフィールドが原因である可能性があります。キーウィンドウのみがユーザー入力を受け入れることができます。したがって、[textfield.windowmakeKeyAndVisible]を作成してみてください。

于 2014-11-27T09:46:08.317 に答える