CALayer内容超出范围 - iOS

nee*_*raj 8 transform scale calayer ios

我正在尝试使用相机变焦CGAffinetransform.变换很好,但是当我将它缩放到更大的尺寸时,它就会超出我分配给它的帧AVCaptureVideoPreviewLayer.我尝试设置masksToBounds属性YES但它没有帮助.

我可以在其框架内包含它吗?

编辑:
我想要的是我可以指定相机预览图层的特定区域,如果我对其应用缩放变换(即,预览图层的帧被展开),指定区域之外的图层部分会被剪裁.

Dav*_*ist 33

你应该将你正在缩放的​​图层放在另一个图层中,然后屏蔽那个图层(超级图层).同样适用于观点.

例如,你有两个视图/层:clippingViewscalingView其中scalingView是clippingView和clippingView的子视图认为,实际上剪辑它的边界.

[clippingView addSubview:scalingView];
clippingView.clipsToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

或使用图层

[clippingLayer addSublayer:scalingLayer];
clippingLayer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)