2017-01-09 9 views
1

Я пытаюсь получить пользовательский вид в атрибутной строке, которая будет отображаться в текстовом элементе. Я могу добавить изображение с помощью NSTextAttachment, но это не то, что я хочу. У меня есть пользовательское представление, которое поддерживает Gif и Animated PNG, которые я хотел бы отображать между текстом.Как добавить пользовательский вид в атрибутную строку или текстовое представление?

Пример:

текст текст текст [customView] текст [customView] текст. < - В текстовом виде, предпочтительно в приписываемой строке

Мне понравилось бы руководство относительно того, где я должен искать конкретно. До сих пор я видел проблем, связанных с ...

  • Подкласс NSTextAttachment: How to subclass NSTextAttachment?
  • Использование NSTextAttachmentContainer ..?
  • NSTextAttachmentCell - Только OSX
  • ли манипуляции в тексте зрения
+1

NSAttributedString не класс представления. Он наследует непосредственно из NSObject. Либо ваш вопрос ошибочно, либо ваш неверный путь к вашей цели. Можете ли вы объяснить, что именно вы пытаетесь достичь? – d00dle

+0

@ d00dle Я хочу, чтобы 1) определить, могу ли я поместить UIView в атрибутную строку, как я могу, с UIImage. 2) если нет, выясните, что я должен сделать, чтобы получить UIView в текстовом виде с текстом. Например, одним из решений может быть «скриншот» uiView и сделать его uiimage, а затем поместить это изображение в атрибутString через текстовое вложение. Но это не будет предусматривать анимацию, поэтому мне нужно получить этот реальный пользовательский UIView –

ответ

0

Mixing текст с изображениями надежно является сложной задачей. И он был решен много лет назад с изобретением веб-браузера. Таким образом, вы можете использовать UIWebView для этого.

Или, если у вас есть статические позиции текста и изображений, вы можете использовать только несколько элементов управления внутри вашего основного вида. F.E. один под другим.

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

Here is one