Форматирование NSString для верхнего и нижнего индекса

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

[currentRow addObject:@"("];

Часть стенографии должна быть написана в нижнем индексе, а часть в верхнем индексе. Для всех символов, которые мне нужны, нет символов Unicode, поэтому я пытался разобраться в коде вокруг строк с атрибутами, но я не совсем понимаю. Есть ли у кого-нибудь совет по этому поводу или какой-то пример кода?

Кроме того, после того, как эта расшифровка напечатана на экране во время транскрипции, я отправляю ее в тело сообщения электронной почты... поэтому я предполагаю, что мне также нужно будет побеспокоиться о форматировании. В настоящее время я использую обычный текст, но электронная почта может быть в формате HTML. Спасибо!


person Joel Wehr    schedule 09.11.2012    source источник
comment
см. этот вопрос   -  person Cfr    schedule 09.11.2012
comment
возможный дубликат Как создать индекс с NSAttributedString   -  person rmaddy    schedule 09.11.2012
comment
Я до сих пор не уверен, как реализовать kCTSuperscriptAttributeName внутри NSAttributedString.   -  person Joel Wehr    schedule 09.11.2012


Ответы (1)


Если вы отображаете текст в WebView, вы можете использовать теги html для установки надстрочного индекса. У него также есть преимущество в том, что он работает на более старых версиях iOS, и вы можете повторно использовать текст в своей почте.

NSString *myText=@"This text contains <sub>subscript</sub> and <sup>superscript</sup> text.";
[self.myWebView loadHTMLString:myText baseURL:nil];
person Sten    schedule 09.11.2012
comment
Спасибо Стен. Хотя это на самом деле не отвечает на мой вопрос об атрибутах для UITextView, это именно то, что я собираюсь использовать для этого приложения. Я еще не использовал UIWebView, но реализовать его было очень просто. Я проверил это в своем приложении, и оно сработало как шарм. Большое спасибо за совет! - person Joel Wehr; 10.11.2012
comment
Просто чтобы добавить еще немного информации. Я использую веб-просмотр для отображения текста с супер и нижними индексами, но затем я также хотел иметь простой блокнот для своих пользователей. Конечно, размещение обычного текста и HTML-текста в теле письма будет работать только для одного или другого. Я решил проблему, добавив следующее. code NSString *nonHTMLText = [[NSString stringWithString:notesTextView.text] init]; NSString *htmlText = [строка nonHTMLTextByReplacingOccurrencesOfString:@\n withString:@‹br /›];code - person Joel Wehr; 22.11.2012