Как использовать вид прокрутки на iPhone? - PullRequest
9 голосов
/ 06 марта 2009

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

Ответы [ 4 ]

21 голосов
/ 06 марта 2009

Apple UIScollView документация довольно хорошо, вы должны начать там и понять класс.

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

Для этого у прокрутки есть несколько дополнительных свойств по сравнению с обычным UIView - но он похож на UIView в одном важном отношении: он не отображает сам контент. Вы должны добавить подпредставление, чтобы нарисовать ваш текст. Scrollview настраивается и отображается точно так же, как UIView - то есть вы устанавливаете фрейм, добавляете его в другое представление и для отображения своего текста вам нужно добавить подпредставления в UIScrollView, которые могут фактически отображать текст.

Чтобы настроить базовый UIScrollView, который вы запрашиваете, вы должны просто создать его как обычный полноэкранный вид - установить размер кадра того же размера, что и у окна, и добавить вид прокрутки в окно в качестве подпредставления. Затем создайте большой UITextView для хранения вашего текста. Представление UIText может быть настолько большим, насколько вам нравится - в частности, оно может быть больше экрана. установите свойство contentSize объекта UIScrollView таким же, как у кадра UITextView, а затем добавьте представление UIText в качестве подпредставления UIScrollView.

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

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

10 голосов
/ 06 марта 2009

Вы можете просто использовать UITextView. Это дочерний элемент UIScrollView, и если вы установите для его свойства text количество текста, которое не помещается в его рамку, представление станет прокручиваемым.

1 голос
/ 19 августа 2010

U может ссылаться на этот сайт http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/

U следуйте шаг за шагом, чтобы сделать просмотр прокрутки в iphone ... удачи :)

1 голос
/ 16 марта 2010

Я использовал UIScrollView таким образом для панели инструкций в одном из моих приложений. Это сработало, но я был недоволен результатом. Затем я переключился на использование UIWebView и был намного счастливее с результатом. Он автоматически изменяет размеры представления прокрутки, я получаю все возможности форматирования HTML, и у меня могут быть ссылки, которые ведут на дополнительную информацию (или внешние сайты), не более чем добавляя другой HTML-файл и, возможно, некоторый код делегата. Вот код, который я использовал (и я добавил файл HTML в свое приложение в качестве ресурса):

NSString *path = [[NSBundle mainBundle] pathForResource:@"instructions" ofType:@"html"];
NSFileHandle *readHandle = [NSFileHandle fileHandleForReadingAtPath:path];
NSString *htmlString = [[NSString alloc] initWithData: [readHandle readDataToEndOfFile] encoding:NSUTF8StringEncoding];
[self.instructionsView loadHTMLString:htmlString baseURL:nil];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...