Objective C: Форматирование текста в строке возражает в plist

Я - новый objective-c/iPhone разработчик и задаюсь вопросом, существует ли какой-либо способ применить форматирование для отправки текстовых сообщений в строке в plist?

У меня есть plist, который является массивом словарей. Каждый словарь содержит несколько строковых объектов, некоторые из которых я хотел бы содержать списки и абзацы информации. Я называю эти строки и отображаю их через маркировки в UI.

Подобный использованию <лития> и </литий> или <b> и </b> в HTML, я хотел бы смочь указать части строки, которая будет отформатирована, при отображении как маркированный список, полужирный, курсивный, и т.д. Как это могло быть выполнено?

С помощью некоторых добрых пользователей на этом сайте я смог встроить <литий> и <b> теги в xml plist файл, однако это просто привело к литеральной печати тегов на экране.

Заранее спасибо за Вашу справку!!

1
задан user1118321 20 January 2018 в 22:42
поделиться

2 ответа

Это не похоже на то, что тот факт, что ваши струны находятся в плисте, во многом связан с проблемой. Вы будете хранить их таким образом, несмотря ни на что. Но если вы хотите отобразить HTML-подобное форматирование внутри пользовательского интерфейса, у вас есть два варианта:

  1. Синтаксический анализ данных в NSAttributedString, который является доступно начиная с iOS 3.2. Я поверьте, что вам придется разобраться как получить из HTML представительство справа атрибуты в строке.
  2. Используйте UIWebView и непосредственно визуализируйте HTML. Это звучит тяжеловес, особенно для лейблов, и это, вероятно, было бы, но вы можете попробовать.

(Суть здесь в том, что на ваш вопрос нет тривиального ответа - фреймворки Cocoa изначально не говорят много HTML, а внутриструбочное форматирование - это не то, что обязательно легко сделать.)

1
ответ дан 2 September 2019 в 23:14
поделиться

Чтобы разметка HTML работала, вам нужно отображать текст в UIWebView, а не в UILabel. Ознакомьтесь с документацией UIWebView здесь .

Обновление: В ответ на другой ответ я не верю, что UILabel будет правильно отображать NSAttributedString даже в iOS 4. Apple рекомендует использовать стилизованный текст с помощью UIWebView (или рисовать текст самостоятельно, используя Core Text , что значительно сложнее).

1
ответ дан 2 September 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: