CAShapeLayer 的最大大小?
-
26-09-2019 - |
题
我正在尝试在图像上绘制半透明形状。
我有一个 UIView
其图层内容设置为图像,带有 CAShapeLayer
子层的路径设置为形状。有以下几个 UIViews
在父母内部 UIView
, ,这是 a 的缩放子项 UIScrollView
.
在 iPhone 上一切都很好,但是当我在 iPad 上放大时, UIViews
变得相当大,并且 CAShapeLayers
消失。不过图像显示得很好。我猜想问题是尺寸问题,所以我把它分开了 CAShapeLayers
一分为二,这样就有了左边和右边。现在,除非用户放大得很远,例如在它们反弹之前“松开”超出我的最大变焦时,它们都会显示出来。
分裂我的 CAShapeLayers
进一步是可行的,但有点繁琐。所以,我有几个问题:
- 是否有最大尺寸限制
CAShapeLayers
?为什么它不适用于图层的图像内容? - 为什么是
CAShapeLayers
在缩放期间重新绘制UIScrollView
?整个缩放视图不应该(UIScrollView's
直系孩子)在一英寸期间被光栅化?我怎样才能做到这样呢?
解决方案
事实证明,我的电脑(2006 款 MacBook)上的最大区域是 1024*1024。
iPad 上的全屏形状高度为 1004 像素,最大宽度约为 1044 像素,例如,如果您想要水平滚动视图中的大形状。
当双指弹跳缩放时,形状的实际高度会变大,从而将最大宽度降低至约 250 像素。这比我想要的要窄,但可行。
这在物理 iPad 上可能有所不同,但这些是我的开发盒上模拟器的限制。
不隶属于 StackOverflow