2012-11-15 5 views
9

Ich habe widersprüchliche Informationen über die Verfügbarkeit von NSAttributedString für iOS-Versionen vor 6 gefunden. Es ist etwas, das wirklich nützlich wäre, wenn es etwas abwärtskompatibel ist.Ist NSAtributedString vor iOS 6 verfügbar?

Hier sagt er es ab iOS 4: Why No NSAttributedString on the iPhone?

Auf der Apple-Website sagt es iOS 6 und höher: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html

Ich habe versucht, es in meinem Code wie so Umsetzung:

NSAttributedString *commentString = [[NSAttributedString alloc] initWithString:@"I really love raisins" attributes:@{NSForegroundColorAttributeName: [UIColor blackColor]}]; 

Es funktioniert in iOS 6, aber nicht, wenn ich versuche, es in iOS 5 oder iOS 5.1 zu starten. Ich habe frühere Versionen nicht getestet.

Mache ich nur Funktionen, die in älteren Versionen nicht enthalten sind?

Antwort

14

Es gibt seit iOS3.2. Die Möglichkeit, sie in bestimmten UI-Steuerelementen wie UILabel, UIButton, UITextView usw. zu verwenden, ist jedoch erst seit iOS6 verfügbar. Sie können sie weiterhin mit CoreText für < 6.0 verwenden.

6

NSAttributeString und die initWithString:attributes: Methode sind seit iOS 3.2 nach der iOS-Referenz-Dokumentation. Einige Methoden von NSAttributedString wurden in iOS 4.0 hinzugefügt. Alle Methoden, die als UIKit Kategorie hinzugefügt wurden, wurden in iOS 6.0 hinzugefügt.

Das Problem mit dieser Zeile:

NSAttributedString *commentString = [[NSAttributedString alloc] initWithString:@"I really love raisins" attributes:@{NSForegroundColorAttributeName: [UIColor blackColor]}]; 

ist, dass die NSForegroundColorAttributeName Konstante nicht bis iOS 6.0 hinzugefügt.

Also während NSAttributedString schon eine Weile herum ist, wurden alle nützlichen Sachen nicht bis 6.0 hinzugefügt.

+0

Das ist zweimal in zwei Tagen, dass wir eine IOS Frage innerhalb von Sekunden beantwortet haben. Gruß. – Bergasms

Verwandte Themen