这是一个已知的问题,苹果正在努力解决。应该会在下一个测试版中修复。
可以在这里查看:Xcode Number pad with decimal error
编辑:对于那些在文本字段上遇到此问题的人,也许这个方法能帮到你:
来自Apple Developer Forums bye Popeye7 - 所有功劳归于他
我找到了解决这个问题的方法!我有3个应用程序出现了这个问题,所以对我来说......这是一个好发现。在 StackOverflow 上找到了解决方案......将两个答案组合到了一个类似的问题中。
在我的情况下,用户点击一个 barButtonItem ,然后会出现一个“警报”或对话框。
我发现 UIAlertView 分配的方式有很大的不同。
“新的方式”有textField显示,并像应该的那样弹出键盘。
现在我能够看到textField、输入文本并且它运作得像我期望的那样。将“initWithFrame”添加回去对textField的放置没有影响。
旧的方式......
- (IBAction)addEntryTapped:(id)sender
{
[_editorTextView resignFirstResponder];
[self saveTextChanges];
[self dismissPopovers];
_prompt = [[UIAlertView alloc] initWithTitle:@"New Entry Title..."
message:@"\n\n\n"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
_textField = [[UITextField alloc] initWithFrame:CGRectMake(17.0, 55.0, 250.0, 25.0)];
[_textField setBackgroundColor:[UIColor whiteColor]];
[_textField setPlaceholder:@"New Entry Title"];
_textField.borderStyle = UITextBorderStyleRoundedRect;
_textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
_textField.autocorrectionType = UITextAutocorrectionTypeNo;
[_prompt addSubview:_textField];
[_prompt show];
[_textField becomeFirstResponder];
}
新方式...
- (IBAction) addEntryTapped:(id)sender
{
[_editorTextView resignFirstResponder];
[self saveTextChanges];
[self dismissPopovers];
_prompt = [[UIAlertView alloc] init];
_prompt.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField *text = [_prompt textFieldAtIndex:0];
_textField = text;
[_prompt setDelegate:self];
[_prompt setTitle:@"New Entry Title..."];
[_prompt setMessage:@""];
[_prompt addButtonWithTitle:@"Cancel"];
[_prompt addButtonWithTitle:@"OK"];
[_textField setPlaceholder:@"New Entry Title"];
_textField.autocapitalizationType = UITextAutocapitalizationTypeWords;
_textField.autocorrectionType = UITextAutocorrectionTypeNo;
[_prompt show];
[_textField becomeFirstResponder];
}
消息由Popeye7于9/25/13下午12:25编辑
消息由Popeye7于9/25/13下午12:33编辑