2017-10-16 25 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更新都是在主线程中进行的,而不是触发这些更改的功能。

相关问题