gpt4 book ai didi

ios - 简单地用矩形遮盖 UIView

转载 作者:IT王子 更新时间:2023-10-29 07:36:19 26 4
gpt4 key购买 nike

我想知道如何简单地屏蔽任何类型的 UIView 的可见区域。到目前为止,我读过的所有答案/教程都描述了使用图像、渐变或创建圆角进行 mask ,这比我所追求的要先进得多。

示例:我有一个边界为 (0, 0, 100, 100) 的 UIView,我想使用 mask 切掉 View 的右半部分。因此,我的蒙版框将是 (0, 0, 50, 100)。

知道如何简单地做到这一点吗?我不想覆盖 drawrect 方法,因为这应该适用于任何 UIView。

我试过了,但它只会让整个 View 不可见。

CGRect mask = CGRectMake(0, 0, 50, 100);
UIView *maskView = [[UIView alloc] initWithFrame:mask];
viewToMask.layer.mask = maskView.layer;

最佳答案

感谢来自 MSK 的链接,这是我采用的方式,效果很好:

// Create a mask layer and the frame to determine what will be visible in the view.
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
CGRect maskRect = CGRectMake(0, 0, 50, 100);

// Create a path with the rectangle in it.
CGPathRef path = CGPathCreateWithRect(maskRect, NULL);

// Set the path to the mask layer.
maskLayer.path = path;

// Release the path since it's not covered by ARC.
CGPathRelease(path);

// Set the mask of the view.
viewToMask.layer.mask = maskLayer;

关于ios - 简单地用矩形遮盖 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11391058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com