我正在尝试在图像上绘制半透明形状。

我有一个 UIView 其图层内容设置为图像,带有 CAShapeLayer 子层的路径设置为形状。有以下几个 UIViews 在父母内部 UIView, ,这是 a 的缩放子项 UIScrollView.

在 iPhone 上一切都很好,但是当我在 iPad 上放大时, UIViews 变得相当大,并且 CAShapeLayers 消失。不过图像显示得很好。我猜想问题是尺寸问题,所以我把它分开了 CAShapeLayers 一分为二,这样就有了左边和右边。现在,除非用户放大得很远,例如在它们反弹之前“松开”超出我的最大变焦时,它们都会显示出来。

分裂我的 CAShapeLayers 进一步是可行的,但有点繁琐。所以,我有几个问题:

  1. 是否有最大尺寸限制 CAShapeLayers?为什么它不适用于图层的图像内容?
  2. 为什么是 CAShapeLayers 在缩放期间重新绘制 UIScrollView?整个缩放视图不应该( UIScrollView's 直系孩子)在一英寸期间被光栅化?我怎样才能做到这样呢?
有帮助吗?

解决方案

事实证明,我的电脑(2006 款 MacBook)上的最大区域是 1024*1024。

iPad 上的全屏形状高度为 1004 像素,最大宽度约为 1044 像素,例如,如果您想要水平滚动视图中的大形状。

当双指弹跳缩放时,形状的实际高度会变大,从而将最大宽度降低至约 250 像素。这比我想要的要窄,但可行。

这在物理 iPad 上可能有所不同,但这些是我的开发盒上模拟器的限制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top