簡體   English   中英

iOS圖層渲染隊列

[英]iOS Layer Rendering Queue

我遇到了一種我不了解的行為。 我的代碼基本上是這樣做的:

  • 創建帶有一些自定義UIView內容的視圖(帶有drawRect的視圖),該視圖尚無超級視圖,因此Quartz子系統沒有將其稱為[圖層顯示]。

  • 然后我做一個renderInContext視圖。

  • 問題在於,有時視圖會完美呈現,有時不呈現子視圖,並且不會調用子視圖的drawRect。

為什么會發生? 我想念一些東西。 我實際上知道同一層不能同時渲染。 但是由於該視圖沒有超級視圖,因此不會在主線程上呈現該視圖。

非常感謝

很有趣,沒有看過源代碼幾乎是很難理解的,但是我掌握了一些可以使用的技巧。

  • 將視圖添加到超級視圖中,將alpha設置為0
  • 嘗試將其添加到超級視圖的范圍之外
  • 嘗試在該視圖上調用-setNeedsDiplay

我不知道它們是否有效,渲染系統不是一個簡單的任務,但是我會做一個嘗試。我沒有得到的一件事,通常將子視圖添加為子視圖,但是您說您對它們做了一些操作在drawrect里面。 不要在drawRect, drawRect和addSubview中添加子視圖:自定義圖形會影響哪些視圖?

暫無
暫無

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

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