Как установить маржу в UITextView? - PullRequest
22 голосов
/ 02 декабря 2010

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

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

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

alt text

Ответы [ 4 ]

9 голосов
/ 15 марта 2014

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

По примеру Джордж Грин :

myTextView.textContainerInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f);
6 голосов
/ 01 марта 2012

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.

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

4 голосов
/ 19 марта 2012

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

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

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

Этот ответ может помочь. Есть ли способ поместить индикатор прокрутки UITextView вне UITextView?

1 голос
/ 13 марта 2014

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

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

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