Iphone 为什么UITextField becomeFirstResponder在我的孩子视图控制器中不显示键盘?
在我的第一个ViewController中,我将一个UITextField作为第一个响应程序,焦点保持在TextField和键盘自动显示的位置。它很好用。然后我介绍了另一个子ViewController,它在这个ViewController中有3个UITextField A、B、C,我将第一个UITextField设置为A成为这个子ViewController中的第一个响应者,焦点保持在A,但键盘没有出现。我找了一整天所有的答案,但什么也没找到 这是代码 在父VC中,我设置:Iphone 为什么UITextField becomeFirstResponder在我的孩子视图控制器中不显示键盘?,iphone,ipad,keyboard,Iphone,Ipad,Keyboard,在我的第一个ViewController中,我将一个UITextField作为第一个响应程序,焦点保持在TextField和键盘自动显示的位置。它很好用。然后我介绍了另一个子ViewController,它在这个ViewController中有3个UITextField A、B、C,我将第一个UITextField设置为A成为这个子ViewController中的第一个响应者,焦点保持在A,但键盘没有出现。我找了一整天所有的答案,但什么也没找到 这是代码 在父VC中,我设置: TestVC *t
TestVC *testVC= [[TestVC alloc] init];
testVC.modalPresentationStyle=UIModalPresentationFormSheet;
[detailvc presentViewController:testVC animated:NO completion:nil];
UITextField *v_matcode=[MyViewUtil addTextField:@"" x:10 y:10 width:100 height:40];
[self.view addSubview:v_matcode];
[v_matcode becomeFirstResponder];
在child VC TestVC中,我设置:
TestVC *testVC= [[TestVC alloc] init];
testVC.modalPresentationStyle=UIModalPresentationFormSheet;
[detailvc presentViewController:testVC animated:NO completion:nil];
UITextField *v_matcode=[MyViewUtil addTextField:@"" x:10 y:10 width:100 height:40];
[self.view addSubview:v_matcode];
[v_matcode becomeFirstResponder];
这是addTextField:
+(UITextField *) addTextField:(NSString *)text x:(int)_x y:(int)_y width:(int)_width height:(int)_height {
UITextField *v_txt = [[UITextField alloc] init];
v_txt.frame= CGRectMake(_x, _y, _width, _height);
v_txt.borderStyle = UITextBorderStyleRoundedRect;
return v_txt;}
v_matcode具有焦点,但键盘不显示。但如果我不将此文本字段设置为FirstResponder并让用户点击它,键盘就会正确显示。为什么会这样?尝试将动画设置为“是”
[detailvc presentViewController:testVC动画:是完成:无] addTextField:代码看起来像什么?到目前为止,看起来你做的一切都是对的,但是addTextField:是一种自定义方法,所以它可能会做一些古怪的事情。我同意@michael dautermann的观点,你能发布addTextField:方法的代码吗,这可能会有帮助。现在无法测试它,但请尝试将调用包装为成为调度\u asyncdispatch\u get\u main\u队列中的第一响应者,^{/*call here*/};您似乎是从另一个控制器(即非self)[detailvc presentViewController:testVC animated:NO completion:nil]显示模式视图控制器;是否有任何原因说明detailvc与进行presentModalViewController调用的视图控制器之间的关系?我猜您正在loadView中添加文本字段。尝试将becomeFirstResponder代码移动到ViewDidDisplay中,以便在尝试显示键盘之前视图已经可见。