我有一个名为songInfoView的视图,其中包含3 UITextFields和一个UIButton。我在父视图中创建了一个临时UITextField,以打开键盘并将songInfoView指定为inputAccessoryView。这如预期的那样起作用。
然后,我尝试在songInfoView中设置一个文本字段作为第一个响应器。光标移动到此字段,但当我尝试键入时,什么也不会发生。我可以点击文本字段并按预期键入,但我希望它能够正常工作,而不必点击它。我是不是遗漏了什么?我这样做不正常吗?谢谢你的帮助。
songInfoView = [[SongInfoViewController alloc]init];
songInfoView.delegate = self;
UITextField *tempTextField = [[UITextField alloc]initWithFrame:CGRectMake(10.0f, 10.0f, 50.0f, 30.0f)];
[self.view addSubview:tempTextField];
[tempTextField setInputAccessoryView:songInfoView.view];
[tempTextField becomeFirstResponder];
[songInfoView.titleTextField becomeFirstResponder];发布于 2013-11-26 04:01:33
我自己想出来的。事实证明(我认为)屏幕上的键盘(以及它的附件视图)有它自己的窗口。因此,在songInfoView的viewDidAppear方法中,我不得不调用
[self.view.window makeKeyAndVisible];只需记住在键盘消失后,在用于加载键盘的视图控制器中再次调用它。希望这能帮到其他人。
https://stackoverflow.com/questions/19983179
复制相似问题