L'image NSTextAttachment ne s'affiche pas sur les appareils iOS 8 (avec iOS7.1 sdk)

Je viens de build mon projet sur plusieurs appareils iOS 8 avec baseSDK réglé sur iOS 7.1. Malheureusement, toutes les images NSTextAttachment ajoutées en tant qu'attributes aux instances pertinentes de NSMutableAtsortingbutedSsortingng sont cachées sur les appareils iOS 8 et sur le simulateur iOS 8 (elles sont toujours visibles sur les appareils avec la version 7.1 et le simulateur iOS 7.1). Le cadre de ces strings dans leurs aperçus est défini comme si l'image était présente, mais l'image elle-même n'est tout simplement pas visible ou rendue.

Est-ce que quelqu'un d'autre a rencontré le problème des pièces jointes ne figurant pas sur iOS 8. Si oui, y a-t-il une solution de contournement? Sinon, y a-t-il un problème avec mon code (collé ci-dessous)? Cette instance en particulier définit un titre atsortingbué pour un UIButton, mais j'ai d'autres instances avec des pièces jointes qui sont de simples UILabels qui affichent le même comportement.

NSMutableAtsortingbutedSsortingng *attrButtonTitle = [[NSMutableAtsortingbutedSsortingng alloc] initWithSsortingng:@"Let's go!"]; NSTextAttachment *doubleArrowIcon = [[NSTextAttachment alloc] initWithData:nil ofType:nil]; doubleArrowIcon.image = [UIImage imageNamed:@"double-arrows"]; [attrButtonTitle appendAtsortingbutedSsortingng:[[NSAtsortingbutedSsortingng alloc] initWithSsortingng:@" " atsortingbutes:@{NSAttachmentAtsortingbuteName : doubleArrowIcon, NSBaselineOffsetAtsortingbuteName : @(-2)}]]; [self.nextButton setAtsortingbutedTitle:attrButtonTitle forState:UIControlStateNormal]; 

Note: Je publierais des images pour illustrer si je pouvais, mais je n'ai pas la réputation de dépassement de stack minimum pour le faire.

Je ne sais toujours pas pourquoi le code ci-dessus n'affiche pas les images sur les appareils iOS8 lors de la compilation avec le SDK 7.1, mais j'ai trouvé une solution de contournement. J'ai essayé différentes methods d'initialisation pour NSMutableAtsortingbutedSsortingng qui a une pièce jointe de text jusqu'à ce que j'ai obtenu quelque chose qui a fait le travail. Code ci-dessous:

 NSTextAttachment *doubleArrowIcon = [[NSTextAttachment alloc] initWithData:nil ofType:nil]; doubleArrowIcon.image = [UIImage imageNamed:@"double-arrows"]; NSAtsortingbutedSsortingng *textAttachment = [NSAtsortingbutedSsortingng atsortingbutedSsortingngWithAttachment:doubleArrowIcon]; NSMutableAtsortingbutedSsortingng *mutableTextAttachment = [[NSMutableAtsortingbutedSsortingng alloc] initWithAtsortingbutedSsortingng:textAttachment]; [mutableTextAttachment addAtsortingbute:NSBaselineOffsetAtsortingbuteName value:[NSNumber numberWithInt:-2] range:NSMakeRange(0, [textAttachment length]) ]; [attrButtonTitle appendAtsortingbutedSsortingng:mutableTextAttachment]; 

Si votre image ne s'affiche toujours pas après la bonne initialisation, c'est un problème avec le lineBreakMode de votre label / text. L'image ne peut pas / ne doit pas être coupée par le lineBreak.

Ajoutez simplement

 yourlabel.text.lineBreakMode = NSLineBreakByClipping; 

Pour votre code