2017-04-20 70 views
0

我有一个pageViewController有两个子视图控制器,你可以在它们之间滑动。其中之一有一个textView,当您滚动到该页面时,我想成为第一个响应者,然后在滚动时失去焦点。现在我有这个:设置becomeFirstResponder on viewController嵌套在PageViewController中

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(animated) 

    composeTextView.delegate = self 
    composeTextView.becomeFirstResponder() 
} 

只要开始滚动到视图上,键盘就会显示出来。但只要滚动完成,键盘就会消失。

任何想法为什么会发生这种情况?

回答

0

我最终找到了这个问题的答案。所以,在viewDidAppear我加了这一点:

DispatchQueue.main.async(execute: {() -> Void in 
    let strongSelf: TextPostViewController = self 
    strongSelf.composeTextView.becomeFirstResponder() 
}) 

我很高兴地给对号谁可以解释为什么这个工程。