ios - 使白色标签在明亮的 ImageView 顶部可见

标签 ios objective-c uilabel

基本问题:

我相信技巧在于掩蔽,但我无法很好地掌握它是如何设置的。

基本上,我有一个明亮的图像(设置为 uiimageview 对象),并且我在最底部有一个标签(添加在 ImageView 的顶部),需要在上面有一个易于阅读的白色文本它。现在,白色文本很难阅读(因为背景明亮)。

我在做什么:

我正在为 ImageView 设置一个 mask ,类似于 http://cl.ly/image/0i0N1p271d42

        maskContainer = [CALayer layer];
        UIImage *maskImg = [UIImage imageNamed:@"mask_profile"];
        [maskContainer setContents:(id)[maskImg CGImage]];
        CGRect frma = maskContainer.frame;
        frma.size.width = self.frame.size.width;
        frma.size.height = self.frame.size.height;
        maskContainer.frame = frma;
    [self.imageView.layer setMask:maskContainer];

搞砸了。整体图像从顶部开始褪色。

有人可以分享他们对正确遮盖方法的见解吗?

最佳答案

您可以在文本上设置投影,即使在白色背景上也能突出显示:

myLabel.layer.shadowOpacity = 0.8f;
myLabel.layer.shadowOffset = CGSizeMake(0, 0);

关于ios - 使白色标签在明亮的 ImageView 顶部可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29980027/

相关文章:

ios - NSUserActivity 切换不适用于自定义数据

ios - NSUserDefault setObject 的现代 objective-c 语法是什么?

ios - 如何删除一行 UILabel 下方的额外填充

ios - 无法识别的选择器发送到实例错误 - 我的错误在哪里?

ios - UITableview 不调用 cellForRowAtIndexPath

iphone - 我应该在使用 reloadData 之前清除 TableView 吗?

ios - 使用 Interface Builder 动态调整 UILabel 的大小并重新定位其下方的 UIView

ios - 如何在 Swiftui View 函数中使用 EnvironmentObject?

iphone - UIImagePickerController, didFinishPickingMediaWithInfo 没有实现的时候

swift - 重写 UILabel 文本 getter 不起作用