ios - 在 UILabel 中更改表情符号的 alpha

标签 ios objective-c swift

我正在使用一些可能包含表情符号的文本填充 navigationBartitle 属性,并且我正在对 textColor 进行淡入淡出输入/输出更改 alpha 的标签。 基本上,alpha 值由 scrollView 驱动,因此标签会随着用户滚动而消失。 这种机制非常适合包含标准字符的文本,但表情符号不受 alpha 值的影响。似乎它们只响应值 0.0(并且它们消失了),而对于任何其他值 > 0.0,它们的行为就好像 alpha = 1.0 .

如何使整个文本具有相同的 alpha 值?具体来说,如何将 alpha 值应用于字符串中包含的表情符号字符?

这里是一些视觉示例: semi transparent text transparent text

请注意,我不能修改 View 的 alpha,只能修改 text alpha。

更新

文本被分配给 navigationBartitle 属性。本例不使用在 titleView

中放置 UILabel 的技术

最佳答案

这里是一段代码,可以产生你想要的效果:

Transparent emoji in UINavigationBar

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    UILabel *label = [UILabel new];
    label.text = @"😃 Test title 🚐";
    label.alpha = 0.2;
    self.navigationItem.titleView = label;
    ...

关于ios - 在 UILabel 中更改表情符号的 alpha,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59427009/

相关文章:

ios - 应用 CIFilter 之后,无论我做什么,图像都会变大

objective-c - 以编程方式关闭 iOS

swift - 在 Realm 中删除项目而不交换

ios - 在 iOS swift 中迁移 firebase 后,我们是否需要删除结构?

Swift - 当按下按钮时,如果动画已经在播放,则将动画重置为开始

ios - iPhone 11 Simulator 中的主页 View 背景颜色未全屏显示

ios - SceneKit 欧拉角不适用于 iOS 8

ios - 为什么与 UIImagePNGRepresentation 的比较不起作用?

objective-c - 隐藏 UIKeyboard

ios - 使用 object_setIvar 时的 EXC_BAD_ACCESS