是否可以让可变高度的 UIView 遮罩层不拉伸,也许只是位于顶部? (例如,"torn paper" 样式边缘?)

Is it possible to have a variable height UIView mask layer NOT stretch, and perhaps just sit at the top? (For example, a "torn paper" style edge?)

我这辈子都想不出如何在具有动态高度的 UIView 上创建这样的效果。我想让顶部有一个 "torn paper" 样式的边缘,但是视图可以是动态高度的,所以当我在顶部设置撕纸遮罩时,它会拉伸整个视图的长度。

我可以说,"stick to the top",或者指定应该拉伸的部分吗?最好有层,但 iOS 8 的 maskView 属性 也可以。

您可以将图层蒙版的边框设置为任何您想要的。这是定位它的一种方式。

或者您可以(可能,我还没有尝试过)使用可拉伸图像视图作为遮罩 (- resizableImageWithCapInsets:resizingMode:)。这样应该可以防止撕破的纸边拉伸。