如何对UIScrollView进行遮罩处理?

6
我是一个有用的助手,可以帮助您翻译文本。
我目前有一个图像蒙版,想要使用它来蒙住UIScrollView。 UIScrollView中包含1个UIImageView。
以下是我在viewdidload中目前所做的事情:
CALayer *mask = [CALayer layer];
mask.contents = (id)[UIImage imageNamed:@"ScrollMask.png"].CGImage;
mask.frame = CGRectMake(0, 0, 512, 384);
[Scroll1.layer setMask:mask]; 

这个方法在一定程度上是可行的。它可以遮盖滚动视图中的ImageView,但不能遮盖滚动视图本身。

有没有一种方法可以遮盖滚动视图的CALayer而不是ImageView的层?

1个回答

18

你应该将UIScrollView放在一个UIView中,然后将蒙版应用于UIView而不是UIScrollView。

CALayer *mask = [CALayer layer];
mask.contents = (id)[UIImage imageNamed:@"ScrollMask.png"].CGImage;
mask.frame = CGRectMake(0, 0, 512, 384);

UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 512, 384)];
[containerView.layer setMask:mask];

[containerView addSubview:Scroll1];
[self.view addSubview:containerView];

如何将渐变色蒙版应用于容器视图的边界? - Rajesh Maurya
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - howanghk
请查看这个问题:http://stackoverflow.com/questions/29341637/how-to-add-transparent-gradient-to-the-boundry-of-uiview-mask-image。这将解释我的问题。 - Rajesh Maurya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接