我刚刚在几台 iOS 8 设备上构建了我的项目,baseSDK 设置为 iOS 7.1。不幸的是,所有作为属性添加到 NSMutableAttributedString 相关实例的 NSTextAttachment 图像在 iOS 8 设备和 iOS 8 模拟器上都是隐藏的(它们在 7.1 和 iOS 7.1 模拟器的设备上仍然可见)。这些字符串在它们的父视图中的框架被设置为好像图像在那里,但图像本身只是不可见或不渲染。
有没有其他人遇到过 iOS 8 上没有出现文本附件的问题。如果是这样,是否有解决方法?如果没有,我的代码是否有问题(粘贴在下面)?这个实例特别为 UIButton 设置了一个属性标题,但我还有其他带有附件的实例,这些附件是显示相同行为的简单 UILabel。
NSMutableAttributedString *attrButtonTitle = [[NSMutableAttributedString alloc] initWithString:@"Let's go!"];
NSTextAttachment *doubleArrowIcon = [[NSTextAttachment alloc] initWithData:nil ofType:nil];
doubleArrowIcon.image = [UIImage imageNamed:@"double-arrows"];
[attrButtonTitle appendAttributedString:[[NSAttributedString alloc] initWithString:@" " attributes:@{NSAttachmentAttributeName : doubleArrowIcon, NSBaselineOffsetAttributeName : @(-2)}]];
[self.nextButton setAttributedTitle:attrButtonTitle forState:UIControlStateNormal];
注意:如果可以的话,我会发布图片来说明,但我没有这样做的最低堆栈溢出声誉。