【发布时间】:2014-10-15 13:04:52
【问题描述】:
我有一个HomeViewController,它与其他几个UIViewControllers 有不同的模态segues。如果我尝试在 HomeView 中的 UITextField 上显示键盘,一切正常。但是,如果我在从任何模态视图控制器返回后尝试在UITextField(使用becomeFirstResponder)上显示键盘,则键盘永远不会显示。
以下是我尝试过的其中一种设置的一些示例代码:
在HomeViewController:
- (void)viewDidAppear:(BOOL)animated
{
static BOOL firstTimeComplete = false;
if (!firstTimeComplete) {
firstTimeComplete = true;
} else {
UITextField *textField = [[UITextField alloc] init];
[self.view addSubview:textField];
[textField performSelector:@selector(becomeFirstResponder) withObject:nil afterDelay:3]
}
}
在ModalViewController:
- (IBAction)done:(id)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
}
done: 通过内部修饰事件链接到“完成”按钮。
我尝试过的一些事情:
- 将模态转场转换为推送转场可以解决问题,但我不希望在任何子视图中出现导航栏
- 我尝试在关闭
模态视图控制器(使用
dismissViewControllerAnimated:) - 在情节提要中使用展开转场而不是以编程方式进行
有人知道可能发生了什么吗?
【问题讨论】:
-
不看源代码,很难提出任何建议。
-
添加了一些代码,如果代码的任何其他部分可能相关,请告诉我
-
我正在使用完全相同的代码,当我在应用程序中运行它时,显示模式,然后关闭它,3 秒后键盘出现。 dropbox.com/s/iimz6c7ooq68lxr/…
-
1) 你没有调用 [super viewDidAppear:animated] 2) 我有下一个解决方法:
-
感谢迈克的信息!这可能也是我应该尝试的。我正在帮助某人完成现有项目,所以我会尝试删除代码,直到找出导致它的特定行。
标签: ios ios7 keyboard segue modalviewcontroller