CADisplayLink与displayLinkWithTarget:selector:和UIScreen的displayLinkWithTarget:selector:?之间的区别是什么?

时间:2017-01-10 20:00:29

标签: ios cadisplaylink

使用这种方法的CADisplayLink是有道理的,但我很好奇为什么UIScreen也会有它。

1 个答案:

答案 0 :(得分:3)

文档说明屏幕提供的显示链接与该屏幕相关联。但是,查看官方文档,与任何屏幕都没有明显的关系;显示链接被添加到runloop并且就是它。

挖掘deeper in the private headers,有一个display属性,类型为CADisplay,即also found for UIScreen。所以看来,确实可以创建特定于屏幕的显示链接。通常在iOS和tvOS上,只有一个屏幕,但情况并非总是如此(例如将显示器连接到iOS设备)。如果您的应用支持外部显示器,并且您发现需要使用显示链接,则应使用-[UIScreen displayLinkWithTarget:selector:]方法。

考虑向Apple打开一份错误报告,其中包含文档增强请求,以澄清上述行为。