2017-03-28 4 views
1

Nous affichons une étiquette dans nos applications qui contient du texte attribué et des couleurs de mise en évidence. Pour ce faire, nous utilisons le code suivant qui a utilisé pour travailler:NSBackgroundColorAttributeName ne semble pas fonctionner sur iOS 10.3

let paddedLineAttributed = NSMutableAttributedString(string: paddedLine, attributes: [NSFontAttributeName : newFont, NSParagraphStyleAttributeName : paragraphStyle, NSBackgroundColorAttributeName : color]) 

Mais après la mise à niveau un de nos appareils de test pour iOS 10.3, la couleur de fond spécifiée pour l'étiquette ne prend pas plus d'effet. Au lieu de cela, il utilisait une couleur d'arrière-plan transparente rendant l'étiquette invisible car nous utilisons une couleur de texte blanche qui est de la même couleur que la vue parente.

Je soupçonne que le NSBackgroundColorAttributeName est le coupable, mais l'API officielle de référence reste inchangé - https://developer.apple.com/reference/appkit/nsbackgroundcolorattributename

Toutes les idées?

+1

Vous pouvez essayer cette suggestion - [lien] (http://stackoverflow.com/questions/43074652/ios-10-3-nsstrikethroughstyleattributename-is-not-rendered-if-applied-to-a- sub) –

+0

Merci pour la suggestion, va essayer pour l'instant et voir si c'est une solution de contournement que nous pouvons faire pour l'instant. – schystz

Répondre

2

Copié de @schystz commentaire:

Ajout NSBaselineOffsetAttributeName: 0 résout le problème.

let paddedLineAttributed = NSMutableAttributedString(string: paddedLine, attributes: [NSFontAttributeName : newFont, NSParagraphStyleAttributeName : paragraphStyle, NSBackgroundColorAttributeName : color, NSBaselineOffsetAttributeName: 0]) 
+1

Cette solution fonctionne! Merci beaucoup!! – schystz