这是 Apple 正在解决的已知问题。应该在下一个 beta 版本中修复。
看看这里:Xcode Number pad with decimal error
编辑:对于那些对文本字段有这个问题的人来说,这可能会让你得到解决:
来自 Apple 开发者论坛,再见 Popeye7 - 所有功劳归于他
我找到了解决这个问题的方法!我有 3 个应用程序现在已被破坏,所以,对我来说……这是一个很好的发现。在 StackOverflow 上找到了解决方案...结合了一个类似问题的两个答案。
就我而言,用户点击 barButtonItem 并出现“警报”或对话框。
我看到最大的区别在于 UIAlertView 的分配方式。“NEW WAY”显示了 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" // IMPORTANT
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];
// set cursor and 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];
// set cursor and show keyboard
[_textField becomeFirstResponder];
}
消息由 Popeye7 于 2013 年 9 月 25 日下午 12:25 编辑
消息由 Popeye7 于 2013 年 9 月 25 日下午 12:33 编辑