Как имитировать форматированный текст?

Я хочу имитировать такое форматированное текстовое представление: (из твиттера для iPad)alt textТолько текст с кнопка по ссылке. ;) Как разместить кнопку на ссылке? или сделать ссылку такой же крутой?

Я хотел бы иметь такое представление, но я должен иметь возможность выбирать текст, даже если представление не находится в режиме редактирования (это невозможно в приложении Twitter), но при редактировании это не должно быть так причудливо. Простого UITextView должно быть достаточно.

Любые идеи, как я могу этого добиться, или есть ли библиотека, которую я могу использовать?

Я не хочу использовать UIWebView, так как хочу иметь как минимум 9 таких представлений и, возможно, UIWebView работает медленно?

Спасибо

ИЗМЕНИТЬ:

В ранних версиях (iOS2.x) в UITextView был недокументированный API:

[myTextView setContentToHTMLString:@"<body><strong><p>Content In HTML</p></strong><p>Other Paragraph</p></body>"];

это все еще работает в iOS4.2! (симуляционный тест). Но, вероятно, мое приложение будет отклонено ;(

Я также нашел эту статью, которая поддерживает теорию о том, что UITextView по-прежнему поддерживает HTML, но API не является общедоступным: http://www.lazyrobot.org.uk/2010/06/rich-text-on-iphone.html#comment-form


person nacho4d    schedule 04.01.2011    source источник


Ответы (4)


Попробуйте LRLinkableLabel. https://github.com/lukeredpath/LRLinkableLabel Поддерживает форматирование ссылок, но не более богатые форматы. Уже пробовали это с CoreText?

person honcheng    schedule 06.01.2011
comment
LRLinkableLabel, вероятно, самый быстрый способ сделать это сейчас. Я не думаю, что он поддерживает режим редактирования, но я нашел текстовый редактор RTF в Omnigroup Frameworks, который очень полезен для анализа rtf-документов. Это похоже на настраиваемый UITextView, который в будущем позволит изменять стиль шрифта при редактировании. (В настоящее время эта функция отключена) github.com/omnigroup /OmniGroup/tree/master/Frameworks/OmniUI/ . Это вообще не задокументировано и нуждается в доработке, но действительно приятно. - person nacho4d; 07.01.2011

Вероятно, вы могли бы сделать это с помощью UIWebView и пользовательского CSS.

person Frank Schmitt    schedule 06.01.2011

Это похоже на этот вопрос: UITextView или UIWebView с обычными словами, похожими на ссылки

Вот ответ, который я дал:

Рассматривали ли вы библиотеку three20? В одной из его демонстраций, TTCatalog, есть примеры отображения именно того, что вы ищете. Что хорошего в этом проекте, так это то, что вы можете использовать HTML для создания стилей — он знает, как преобразовать привязку, например, в кнопку, на которую можно нажать.

person donkim    schedule 06.01.2011

Взгляните на этот проект с открытым исходным кодом: https://github.com/Cocoanetics/NSAttributedString-Additions-for-HTML

Это позволяет создавать NSAttributedStrings из HTML, а DTAttributedTextCintentView имеет метод делегата для размещения кнопки для ссылки.

person Cocoanetics    schedule 19.06.2011