2010-12-02 3 views
21

В настоящее время я разрабатываю простое приложение для редактирования текста для iPad. Я хочу установить левое/правое поле, как прикрепленное изображение. Простое добавление UITextView в другой UIView с большей шириной не будет работать, потому что индикатор прокрутки не будет правильно расположен.Как установить маржу в UITextView?

Вместо UIView я добавил UITextView в UIScrollView, и он работает почти отлично. Но иногда они показывают странное поведение, а UITextViewDelegate не работает с моим UIViewController.

Есть ли способ установить поля слева/справа только с помощью UITextView? Спасибо.

alt text

ответ

6

UITextView является подклассом UIScrollView. Я не пробовал, но вы могли бы попробовать что-то вроде:

myTextView.contentInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f); 

UIEdgeInsetsMake() выглядит следующим образом:

UIEdgeInsets UIEdgeInsetsMake (
    CGFloat top, 
    CGFloat left, 
    CGFloat bottom, 
    CGFloat right 
); 

Таким образом, вы должны быть в состоянии подцепите содержание TextView.

Надеюсь, что это поможет, сообщите мне, если это работает! :)

+1

это работает, как ожидалось – 2012-03-04 10:12:30

+7

Это не совсем работает для меня. Конечно, поля добавляются, но они добавляются за пределы UITextView. Результатом является текстовый дисплей, который начинается с краев, но вы можете прокручивать его до края. Что мне не хватает? – 2013-02-25 19:19:51

4

Я хотел сделать то же самое, но textview.contentInset не работает.

Я положил UITextView с узкой шириной на UIView, а затем переместил указатель scrollview textview в правую сторону, так что получил то, что я действительно хотел.

textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake (0.0f, 0.0f, 0.0f, -20.0f);

Этот ответ может помочь. Is there a way to put UITextView's scroll indicator to outside UITextView?

1

Вы можете установить значение вставки вправо скроллера UITextView для отрицательного значения и отключить опцию просмотра подзапроса для достижения требуемого. Никакой другой прокрутки не требуется. Select textview on storyboard first

В коде это будет

textView.clipsToBounds = NO; 
textView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, -50.0f); 
8

Вы можете использовать свойство textContainerInset

Следуя примеру Джордж Грин:

myTextView.textContainerInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f); 
Смежные вопросы