Почему нет NSAttributedString на iPhone? - PullRequest
2 голосов
/ 08 апреля 2009

Кто-нибудь знает, что заставило Apple пропустить NSAttributedString при превращении AppKit в UIKit?

Причина, по которой я спрашиваю, состоит в том, что я действительно хотел бы использовать его в своем приложении для iPhone, и, похоже, нет замены или альтернативы, кроме как сделать это самостоятельно ...

Возможно иметь смешанные атрибуты шрифта в строке - это просто адская работа, чтобы добиться чего-то подобного, что было возможно с помощью нескольких строк кода с NSAttributedString.

Кроме того, выполнение всего этого дополнительного кода для рисования делает мои ячейки табличного представления очень тяжелыми и действительно снижает производительность.

У кого-нибудь есть идеи? Любой гений работает над альтернативой NSAttributedString с открытым исходным кодом?

Ответы [ 6 ]

11 голосов
/ 14 апреля 2010

NSAttributedString теперь на iPhone с бета-версии 4.0

4 голосов
/ 16 августа 2009

Не знаю, актуально ли это для вас, но Джо Хьюитт тем временем опубликовал свою библиотеку three20 , которая содержит TTStyledText и TTStyledTextLabel для ваших нужд.

4 голосов
/ 08 апреля 2009

Текущий из документации рекомендуемый способ сделать это - использовать UIWebView.

3 голосов
/ 08 апреля 2009

Боюсь, вам придется кататься самостоятельно. Если вы увязли в рисовании таблиц, я бы, вероятно, переключился на необработанные вызовы Quartz; попробуйте сбросить все ваши рисунки в единый вид, и сделайте все ваши сложные рисунки строк в нем. NSAttributedString удобен, но я не думаю, что он использует столько специальных AppKit-mojo, чтобы получить гораздо лучшую производительность, чем вызовы рисования прямых строк.

2 голосов
/ 24 апреля 2010

Ответ выше указывает, что NSAttributedString доступна на OS 4.0 и выше, но согласно документации она доступна на 3.2:

Описание класса NSAttributedString
Наследуется от NSObject
Соответствует NSCoding, NSCopying, NSMutableCopying, NSObject (NSObject)
Framework /System/Library/Frameworks/Foundation.framework
Доступность Доступно в iPhone OS 3.2 и более поздних версиях.
Сопутствующее руководство Руководство по программированию приписанной строки
Объявлено в NSAttributedString.h

0 голосов
/ 08 апреля 2009

Другой подход заключается в использовании UIWebView с HTML. Или, если вы решаетесь, вы можете использовать недокументированный метод setHTML в UITextView для установки небольших фрагментов форматированного текста ...

Для меня это больше похоже на будущее, в котором пойдет поддержка форматированного текста, какой-то способ использовать Webkit при выводе форматированных строк.

...