gpt4 book ai didi

ios - 如何使CALayer边框的Alpha值与bgcolor不同

转载 作者:行者123 更新时间:2023-12-01 18:12:13 25 4
gpt4 key购买 nike

我有一个UIView,其中的图层具有0.5的alpha值和白色背景色。而且我需要有一个白色相同但alpha值为1的边框。不幸的是,AFAIK边框的alpha值始终与bgcolor的相同。所以我的问题是:

  • 我可以使边框的Alpha与bgcolor不同吗?
  • 如果不能,您对如何操作有任何建议吗?
  • 最佳答案

    我可以使边框的Alpha与bgcolor不同吗?

    是。您可以执行以下操作:

    CALayer * firstLayer = [[CALayer alloc] init];

    [firstLayer setFrame:CGRectMake(100, 100, 100, 100)];

    firstLayer.borderColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0].CGColor;
    firstLayer.borderWidth = 3.0f;
    firstLayer.backgroundColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.5].CGColor;

    另一种方法是在另一层相同大小的内部放置一层。给外层设置所需的边框厚度,并确保其不透明度为100%。第二层应具有不透明度分数:
    CALayer * firstLayer = [[CALayer alloc] init];
    CALayer * secondLayer = [[CALayer alloc] init];

    [firstLayer setFrame:CGRectMake(100, 100, 100, 100)];
    [secondLayer setFrame:CGRectMake(0, 0, 100, 100)];
    [firstLayer addSublayer:secondLayer];

    firstLayer.borderColor = [UIColor redColor].CGColor;
    firstLayer.borderWidth = 1.0f;

    secondLayer.backgroundColor = [UIColor redColor].CGColor;
    secondLayer.opacity = 0.8f;

    [self.view.layer addSublayer:firstLayer];

    关于ios - 如何使CALayer边框的Alpha值与bgcolor不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28469292/

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