2012-11-15 16 views
9

Znalazłem sprzeczne informacje na temat dostępności NSAttributedString dla wersji iOS przed 6. Jest to coś, co byłoby naprawdę przydatne, jeśli jest w pewnym stopniu kompatybilna wstecz.Czy NSAttributedString jest dostępny przed iOS 6?

Tu jest napisane, że jest dostępny w iOS 4: Why No NSAttributedString on the iPhone?

Na stronie Apple jest napisane iOS 6 i nowsze: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/Reference/Reference.html

Próbowałem wykonawcze go w moim kodu tak:

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

Działa w systemie iOS 6, ale nie, gdy próbuję go uruchomić w systemie iOS 5 lub iOS 5.1. Nie testowałem wcześniejszych wersji.

Czy staram się używać funkcji, których nie ma w starszych wersjach?

Odpowiedz

14

Już od wersji iOS3.2. Jednak możliwość korzystania z nich w niektórych kontrolkach interfejsu użytkownika, takich jak UILabel, UIButton, UITextView itp., Jest dostępna tylko od wersji iOS6. Nadal można z nich korzystać za pomocą CoreText dla < 6.0.

6

NSAttributeString i metoda initWithString:attributes: istnieje od czasu iOS 3.2 zgodnie z dokumentami referencyjnymi iOS. Niektóre metody NSAttributedString zostały dodane w iOS 4.0. Wszystkie metody dodane jako kategoria UIKit zostały dodane w iOS 6.0.

Problem z taką linią:

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

jest stała NSForegroundColorAttributeName nie dodawano aż iOS 6.0.

Podczas gdy NSAttributedString istnieje już od jakiegoś czasu, wszystkie użyteczne rzeczy nie zostały dodane przed 6.0.

+0

To dwa razy w ciągu dwóch dni, w których odpowiedzieliśmy na pytanie ios w ciągu kilku sekund. Salut. – Bergasms

Powiązane problemy