Лучший способ добавить большой кусок текста в UIScrollView? - PullRequest
4 голосов
/ 21 марта 2010

Как лучше всего отобразить большой фрагмент текста (взятый из файла .txt в приложении) в UIScrollView, чтобы пользователь мог прокручивать его? Длина текста является переменной.

Ответы [ 5 ]

4 голосов
/ 04 июля 2011

В Интерфейсном Разработчике откройте Инспектор Атрибутов (если он еще не открыт - команда-1) и снимите флажок «Редактируемый».

Также обратите внимание, что ниже есть раздел Просмотр прокрутки. Убедитесь, что «Прокрутка» отмечена.

Надеюсь, это кому-нибудь поможет (посту год, поэтому я думаю, что тому, кто его опубликовал, эта информация не нужна).

0 голосов
/ 14 мая 2018

Я пришел сюда в поисках ответа и обнаружил, что все ответы плохие или совершенно неправильные.

Правильный способ сделать это - использовать сам UITextView. Поскольку он является потомком UIScrollView, он имеет встроенную прокрутку и множество функций для настройки форматирования, таких как вставки и т. Д.

Если вы собираетесь показывать только текст, вам необходимо явно отключить редактирование. Вы делаете это, устанавливая свойство "editable" в false. А если вы хотите отключить механизм выделения текста, установите для свойства «selectable» значение false.

В более новых версиях iOS UITextView добавлена ​​поддержка NSTextContainer , что дает вам еще больший контроль над форматированием.

0 голосов
/ 05 мая 2015

Один из способов работы со мной - создать UILabel, задать текст, а затем установить размер содержимого прокрутки по его размеру. Вот пример

Цитата:

// alocate and initialize scroll
 UIScrollView *myScroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 460.0f)];
 // alocate and initialize label
 UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 460.0f)];   

// add long text to label
 myLabel.text = @"Lorem ipsum... long text here";
 // set line break mode to word wrap
 myLabel.lineBreakMode = UILineBreakModeWordWrap;
 // set number of lines to zero
 myLabel.numberOfLines = 0;
 // resize label
 [myLabel sizeToFit];

// set scroll view size
 myScroll.contentSize = CGSizeMake(myScroll.contentSize.width, myLabel.frame.size.height);
 // add myLabel
 [myScroll addSubview:myLabel];
 // add scroll view to main view
 [self.view addSubview:myScroll];
0 голосов
/ 02 декабря 2010

Использование UITextView в UIScrollView. Я не мог бы рекомендовать это, потому что UITextView является подклассом UIScrollView. Apple также рекомендует то же самое.

В этом случае используйте UILabel как подвид,

0 голосов
/ 21 марта 2010

Поместите UITextView в UIScrollView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...