2017-10-16 60 views
0

應該在主線程上調用becomeFirstResponder()嗎?應該在主線程上調用becomeFirstResponder()嗎?

DispatchQueue.main.async { 
     self.inputBarView.placeholderTextView.becomeFirstResponder() 
} 

我已經修復了一個閃爍的問題,我已確認被稱爲主線程的方法後,動畫變得平滑。

但是,我不確定這是否正確。

+0

沒有什麼說它應該總是在主線程上調用,但是文檔中有一些說只應該在作爲活動視圖層次結構一部分的視圖上調用該方法。有關更多詳細信息,請參閱https://developer.apple.com/documentation/uikit/uiresponder/1621113-becomefirstresponder,但如果您爲動畫顯示代碼也會有所幫助,因爲可能存在潛在的問題。 – TNguyen

回答

0

什麼可能使您的動畫更平滑不是事實上,你在主線程中調用becomeFirstResponder,但可能是因爲當您的placeholderTextView成爲第一響應者正在主線程上執行時正在觸發的動畫。

您不應該在主線程中調用becomeFirstResponder,而應該確保所有動畫和UI更新都是在主線程中進行的,而不是觸發這些更改的功能。

相關問題