如何屏蔽UIScrollView?

Fel*_*oft 4 xcode mask calayer uiscrollview

我目前有一个我想用来掩盖UIScrollView的图像掩码.scrollview包含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]; 
Run Code Online (Sandbox Code Playgroud)

这在某种程度上起作用.它会屏蔽scrollview中的ImageView,但不会屏蔽scrollview本身.

有没有办法屏蔽scrollview的CALayer而不是imageview的图层?

how*_*ghk 15

您应该将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];
Run Code Online (Sandbox Code Playgroud)