NSTextAttachment 未显示在今日通知中心小部件中

Posted

技术标签:

【中文标题】NSTextAttachment 未显示在今日通知中心小部件中【英文标题】:NSTextAttachment not showing up in Today Notification Center Widget 【发布时间】:2014-12-25 02:35:01 【问题描述】:

我有一个通知中心小部件,它有一个带有表格视图单元格的表格视图。在单元格中,我有一个标签,我想用文本+图像显示。作为 NSTextAttachment 包含的图像。我在应用程序中有以下代码:

NSTextAttachment *attachment = [NSTextAttachment new];
attachment.image = [UIImage imageWithData:item.image];
NSAttributedString *itemImage = [NSAttributedString attributedStringWithAttachment:attachment];
NSAttributedString *itemName = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@" %@", item.name]];
NSMutableAttributedString *itemString = [[NSMutableAttributedString alloc] initWithAttributedString:itemImage];
[itemString appendAttributedString:itemName];
cell.nameLabel.attributedText = itemString;

此代码在应用程序内部有效,但我也尝试在我的小部件(以及 TodayViewController)中使用。在小部件中显示时,标签上不会显示任何图像。如果我在运行此代码时停止,我可以看到 attachment.image 已正确设置。我究竟做错了什么?谢谢!

【问题讨论】:

【参考方案1】:

后来发现,在我设置 cell.nameLabel.attributedText = itemString; 之后,我设置了 cell.nameLabel.text = itemString,所以它覆盖了属性字符串

【讨论】:

【参考方案2】:

尝试改变

NSTextAttachment *attachment = [NSTextAttachment new];

NSTextAttachment *attachment = [NSTextAttachment alloc] initWithData:nil ofType:nil];

这可能与这篇文章的问题相同:NSTextAttachment image not displayed on ios 8 devices (with iOS7.1 sdk)

【讨论】:

不幸的是没有区别

以上是关于NSTextAttachment 未显示在今日通知中心小部件中的主要内容,如果未能解决你的问题,请参考以下文章

如何将菜单选项添加到 NSTextAttachment 弹出菜单是 UITextView?

iOS 今日视图未在设备上运行

如何自定义 NSTextAttachment 显示样式?

带有 NSAttributedString 和 NSTextAttachment 的 UITextView。如何显示文字?

即使在主队列中,更改 NSTextAttachment 图像也不会立即起作用

NSTextAttachment 使用 textkit 时覆盖文本