2012-05-22 3 views
2

В приложении, которое я сейчас разрабатываю, я должен реализовать экран, который позволяет пользователю задавать вопрос. Этот экран содержит UIImageView рядом с UITextView, занимая часть пространства. Это похоже на изображение ниже.iOS Text Wrapping

Problem

Мой вопрос, как я могу обернуть текст UITextView вокруг UIImageView, так что текст не будет находиться в блоке, но обтекая UIImageView?

Спасибо в продвижении.

ответ

1

Я не думаю, что вы можете это сделать, если ваш UITextView не был богатым текстовым редактором или HTML-редактором, а встроенный в него образ. В основном то, что вы просите, это непрямоугольный UITextView. Насколько мне известно, это невозможно в iOS, если только вы не должны создавать что-то совершенно новое с нуля, что было бы чрезвычайно сложно. Я видел множество элементов управления в стиле UILabel, которые могут отображать HTML-подобный текст, но не Редактировать it.

EDIT: это может помочь: http://www.cocoanetics.com/2011/01/rich-text-editing-on-ios/

0

К сожалению, это не простая задача, поскольку UITextField не предоставляет функциональные возможности, которые были бы полезны здесь.

Однако, что вы можете сделать, это реализовать свой собственный текстовый вид, используя UITextInput (для ввода текста) и Core Text (для текстового отображения), а затем определить прямоугольник чертежа для основного текста (вы можете прочитать больше на Core Text here) из пользовательского CGPath, который исключает рамку изображений.

Это звучит немного сложнее (возможно, сумасшедший), однако (почти всегда) существуют решения с открытым исходным кодом, которые уже нашли решение. OmniGroup framework содержит пользовательские элементы ввода текста на основе Core Text и UITextInput. Они лицензированы по лицензии MIT (ну, безжизненно), поэтому вы должны быть в порядке.