设置becomeFirstResponder on viewController嵌套在PageViewController中
问题描述:
我有一个pageViewController有两个子视图控制器,你可以在它们之间滑动。其中之一有一个textView,当您滚动到该页面时,我想成为第一个响应者,然后在滚动时失去焦点。现在我有这个:设置becomeFirstResponder on viewController嵌套在PageViewController中
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
composeTextView.delegate = self
composeTextView.becomeFirstResponder()
}
只要开始滚动到视图上,键盘就会显示出来。但只要滚动完成,键盘就会消失。
任何想法为什么会发生这种情况?
答
我最终找到了这个问题的答案。所以,在viewDidAppear
我加了这一点:
DispatchQueue.main.async(execute: {() -> Void in
let strongSelf: TextPostViewController = self
strongSelf.composeTextView.becomeFirstResponder()
})
我很高兴地给对号谁可以解释为什么这个工程。