是否有可能有一个可变高度的 UIView 蒙版层不拉伸,也许只是坐在顶部? (例如,“撕纸”式边缘?)

Posted

技术标签:

【中文标题】是否有可能有一个可变高度的 UIView 蒙版层不拉伸,也许只是坐在顶部? (例如,“撕纸”式边缘?)【英文标题】: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?) 【发布时间】:2015-05-07 22:15:43 【问题描述】:

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

我可以说“坚持到顶部”,或者指定一个应该伸展的部分吗?最好使用图层,但 ios 8 的 maskView 属性也可以。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于是否有可能有一个可变高度的 UIView 蒙版层不拉伸,也许只是坐在顶部? (例如,“撕纸”式边缘?)的主要内容,如果未能解决你的问题,请参考以下文章

如果ios中的孩子数量增加,我如何自动增加UIView的高度

如何使用 AutoLayout 配置视图宽度固定宽度和可变高度

一个图层隶属下一个图层

堆叠的 UIView 层不移动

将图像调整为可变/固定尺寸?

是否可以有一个具有固定高度但可变宽度的元素的列流网格?