我试图找出该怎么含有非矩形路径的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. 每日记录,应该每个用户有它自己的表?