我試圖找出該怎麼含有非矩形路徑的CALayer命中檢測的最佳方式。我知道CGContextPathContainsPoint
函數,但我不知道如何獲取適當的CGContextRef
時,我需要做點擊檢測(如鼠標下降)的參考。出於命中檢測的目的,保留對CGContextRef
傳遞給(void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
委託方法的引用是否安全?我不知道如果相同CGContextRef
可能被其它層進行修改。每個CALayer都有它自己的CGContextRef嗎?
0
A
回答
3
讓該圖層擁有一個CGPath並命中該測試。然後,您不必擔心保留上下文是否安全,而且您也不必每次都重新繪製路徑。
1
使用CAShapeLayer
代替CALayer
,如果你正在處理繪製形狀上層。 CAShapeLayer
包含CGPath,因此您不需要在您的CALayer
中保留CGPath。
相關問題
- 1. 每個線程都不需要它自己的JVM副本嗎?
- 2. 兩個並行的TransactionScope每個都有它自己的連接
- 3. 有了MVVM,每個UI窗口都有自己的ViewModel嗎?
- 4. 每個派生表都必須有它自己的別名Error?
- 5. PHP/Smarty - 每個文件都有它自己的語言文件
- 6. 超類和子類每個都有它自己的接口
- 7. 每個線程都有自己的堆棧嗎?
- 8. 每個存儲庫都有自己的hg serve實例嗎?
- 9. 每個類都必須擁有自己的OnClickListener嗎?
- 10. 每個進程都有自己的stdin,stdout和stderr嗎?
- 11. 每個'HttpRequest'在ASP.NET中都有自己的線程嗎?
- 12. 每個用戶都有自己的數據庫表嗎?
- 13. 每個進程都有自己的頁表嗎?
- 14. 每個寶石都有自己的耙子嗎?
- 15. 每個活動都必須有自己的模型嗎?
- 16. 每個php-fpm池都有自己的內存池嗎?
- 17. 應該每個組件都有自己的mapDispatchToProps嗎?
- 18. Zend中的每個表都必須映射到它自己的類嗎?
- 19. 程序的每一行都有自己的地址嗎?
- 20. ZeroMQ上的每個隊列都需要自己的端口嗎?
- 21. 如何擁有多個UIWebviews,每個都有自己的UITapGestureRecognizer?
- 22. PHP MVC - 每個頁面都需要自己的類嗎?
- 23. 如何運行兩個片段,每個都有自己的AsyncTasks
- 24. 多個UIAlertView;每個都有自己的按鈕和動作
- 25. 多個catch子句,每個都有自己的消息框
- 26. 每個視圖都有自己的畫布/位圖來繪製嗎?
- 27. 每個.xib文件都必須有自己的.h和.m文件嗎?
- 28. 2 UIPickerViews每個都有自己的UILabel來顯示NSMutableArray的值
- 29. 地圖的每個區域是否都有自己的班級?
- 30. 每日記錄,應該每個用戶有它自己的表?