【问题标题】:How to add border with no mask to masked image at Objective-C如何在Objective-C中为蒙版图像添加不带蒙版的边框
【发布时间】:2015-08-29 06:23:25
【问题描述】:

我在 UIImageView 的图层上添加了蒙版。之后我想为图像添加边框。但是,看起来像蒙版也适用于边框,因为它正在改变颜色(应该是深白色,没有蒙版)。

我的代码看起来像

// Mask
CALayer *layer = [CALayer layer];
layer.frame = _photo.bounds;
layer.backgroundColor = [UIColor colorWithWhite:0.f alpha:.5f].CGColor;
[_photo.layer setMask:layer];

_photo.layer.cornerRadius = _photo.frame.size.width / 2;
_photo.layer.masksToBounds = YES;
_photo.clipsToBounds = YES;

// Border
_photo.layer.borderColor = [[UIColor whiteColor] CGColor];
_photo.layer.borderWidth = 2.0;

未应用蒙版的图像: 结果如下:

如何在应用蒙版期间添加边框而不更改其颜色?

【问题讨论】:

    标签: ios objective-c uiimageview


    【解决方案1】:

    我怀疑您不能(轻松)阻止图层蒙版同时遮盖图层的边框。在这种情况下,我建议为边框创建第二个视图或图层,在 _photo 前面但在其视图层次结构之外。然后,您可以为第二层赋予与_photo 的层相同的边界、角半径和边框,而无需对其应用蒙版。

    【讨论】:

    • 是的,它有效,但看起来它不是最好的解决方案
    • 如果有更好的解决方案,我会对它感兴趣;虽然我仍然怀疑!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 2015-11-11
    • 2021-08-03
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 2013-07-30
    相关资源
    最近更新 更多