gpt4 book ai didi

objective-c - 使用 CAGradientLayer 时的内存错误

转载 作者:行者123 更新时间:2023-11-28 18:14:06 25 4
gpt4 key购买 nike

我正在使用 CAGradientLayer 创建背景层,如这个问题的答案中所述:Gradients on UIView and UILabels On iPhone

但是,当我使用此代码时,我收到一个引用 CGColorSpaceGetModel 的 exc_bad_access 错误。

UILabel *headerText = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width -10, 18)];    

CAGradientLayer *gradient = [CAGradientLayer layer];

gradient.bounds = headerText.bounds;

UIColor *topColor = [[UIColor alloc] initWithRed:0.5647 green:0.6235 blue:0.6667 alpha:1.0];

UIColor *bottomColor = [[UIColor alloc] initWithRed:0.7216 green:0.7569 blue:0.7843 alpha:1.0];

NSArray *gradientColors = [[NSArray alloc] initWithObjects:topColor, bottomColor, nil];

gradient.colors = gradientColors;

[headerText.layer insertSublayer:gradient atIndex:0];

知道是什么导致了这个错误吗?

最佳答案

您需要使用 CGColorRefs 而不是 UIColor... UIColor 上有一个属性来获取 CGColorRef....

NSArray *gradientColors = [[NSArray alloc] initWithObjects:(id)topColor.CGColor, (id)bottomColor.CGColor, nil];

关于objective-c - 使用 CAGradientLayer 时的内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588311/

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