gpt4 book ai didi

IOS - 带有阴影的 Quartzcore 自定义 UIView

转载 作者:行者123 更新时间:2023-11-29 11:01:38 26 4
gpt4 key购买 nike

我正在实现一个自定义 UIView 以显示在 UIScrollview 中。问题是我需要 View 来投影,所以我做了:

#import <QuartzCore/QuartzCore.h>
@implementation CustomView

-(void)setupView{


self.layer.shadowColor = [UIColor blackColor].CGColor;
self.layer.shadowOpacity = 0.5;
self.layer.shadowRadius = 1;
self.layer.shadowOffset = CGSizeMake(.6f, .6f);
self.layer.cornerRadius = 2;

[...]

}

-(id)initWithFrame:(CGRect)frame{
if((self = [super initWithFrame:frame])){
[self setupView];
}

return self;
}

[...]

重点是,当我构建并运行它时, ScrollView 非常慢,我只需要删除我破解“self.layer”的那些行, ScrollView 就会再次变得快速流畅。

向我的自定义 View 添加阴影的正确方法是什么?

最佳答案

这与 UIView 在移动时必须进行的所有重绘有关。

如果您栅格化图层,它将变得更加平滑,这应该可以解决问题:

self.layer.rasterizationScale = [UIScreen mainScreen].scale;
self.layer.shouldRasterize = YES;

您可以尝试添加影子路径:

self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.bounds];

这可能会有所帮助。

关于IOS - 带有阴影的 Quartzcore 自定义 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15658432/

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