簡體   English   中英

CADisplayLink iOS有什么用?

[英]what is the use of CADisplayLink iOS

何時使用iOS的石英核心框架的CADisplayLink。 NSTimer和CADisplayLink是一樣的嗎? 什么是CADisplayLink的正確使用? 我們想要同步uiview iOS的繪圖

無恥地復制/粘貼官方文檔

CADisplayLink對象是一個計時器對象,允許您的應用程序將其繪圖與顯示的刷新率同步。

您的應用程序創建一個新的顯示鏈接,提供目標對象和更新屏幕時要調用的選擇器。 接下來,您的應用程序將顯示鏈接添加到運行循環。

一旦顯示鏈接與運行循環相關聯,當需要更新屏幕內容時,將調用目標上的選擇器。 目標可以讀取顯示鏈接的timestamp屬性以檢索上一幀顯示的時間。 例如,顯示電影的應用程序可能會使用時間戳來計算下一個要顯示的視頻幀。 執行其自己的動畫的應用程序可能使用時間戳來確定顯示對象在即將到來的幀中的顯示位置和方式。 duration屬性提供幀之間的時間量。 您可以在應用程序中使用此值來計算顯示的幀速率,下一幀將顯示的大致時間,以及調整繪圖行為以便及時准備下一幀以進行顯示。

您的應用程序可以通過將暫停屬性設置為YES來禁用通知。 此外,如果您的應用程序無法在提供的時間內提供幀,您可能需要選擇較慢的幀速率。 與跳過幀的應用程序相比,具有較慢但一致的幀速率的應用程序對用戶來說更平滑。 您可以通過更改frameInterval屬性來增加幀之間的時間(並降低視在幀速率)。

當您的應用程序使用顯示鏈接完成時,它應調用invalidate將其從所有運行循環中刪除並將其與目標取消關聯。

CADisplayLink不應該是子類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM