我正在构建一个 ios 应用程序。在我的应用程序中,我有一个视图,其中包含一个 ImageView,我通过在图像视图周围添加子视图在图像视图周围创建了一个边框。每个子视图都有自己独特的值 (5,10,15,10)
我让我的用户能够移动、旋转和缩放超级视图。目前,每个比例都会导致我的边界视图发生变化。我希望内部图像周围的边框保持相同的原始未缩放大小。
正如您在屏幕截图中看到的,我有两个 UIView。它们都有相同的阴影边框(见代码)第一个是缩放 X 2。结果不仅是缩放视图,而且是缩放阴影。我的问题是,我怎样才能只缩放视图,而不是它的阴影。
view.layer.MasksToBounds = false;
view.layer.ShadowColor = [[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:0.5].CGColor;
view.layer.ShadowOpacity = 0.5f;
view.layer.shadowRadius = 1.0f;
view.layer.ShadowOffset = CGSizeMake(0, 2.5f);
UIBezierPath * depthShadowPath = [UIBezierPath bezierPath ];
[depthShadowPath moveToPoint:CGPointMake( -border , -border ) ];
[depthShadowPath addLineToPoint:CGPointMake( view.frame.size.width + border , -border ) ];
[depthShadowPath addLineToPoint:CGPointMake( view.frame.size.width + border , view.frame.size.height + border) ];
[depthShadowPath addLineToPoint:CGPointMake( -border , view.frame.size.height + border ) ];
[depthShadowPath addLineToPoint:CGPointMake( -border , -border) ];
[view.layer setShadowPath:[depthShadowPath CGPath ] ];
如何才能做到这一点?