1

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

我有一个UIView将其图层内容设置为图像的图层,其中一个CAShapeLayer子图层的路径设置为形状。UIViews在parent中有一些这样的UIView,它是 a 的 zoom child UIScrollView

在 iPhone 上一切都很好,但是当我在 iPad 上放大时,它UIViews变得非常大,然后CAShapeLayers消失了。图像显示正常。我猜这个问题是尺寸问题,所以我把它分成CAShapeLayers两部分,这样就有了左边和右边。现在,除非用户放大得很远,否则它们都会显示出来,例如在它们反弹之前“松开”超出我的最大缩放。

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

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

1 回答 1

1

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

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

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

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

于 2010-09-04T21:29:35.513 回答