2017-04-20 66 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() 
}) 

我很高興地給對號誰可以解釋爲什麼這個工程。