2009-03-06 2 views
9

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

+4

Мне нечего добавить, но ваше имя удивительно. – Patrick

+0

@Patrick .. да .. :) – rockey

ответ

10

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

21

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

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

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

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

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

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

1

Я использовал 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]; 
1

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

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

+0

Вы, кажется, настоящий пользователь SO, а не спамер. Так что это немного озадачивает, почему вы отправили один и тот же ответ три раза. Вы должны удалить пару этих дубликатов, прежде чем будете наказаны. – APC

+0

@APC вы сказали оштрафованы. Я уже удалил; единственное наказание исходит от сообщества, отклоняющего ее ответы. – Will

+0

@Will - люди (также) отмечают ее ответы как спам. Таким образом, утечка Дженнифер двумя путями, хотя я думаю, что она не ударит по волшебству «шесть флагов» сейчас, а сохранившиеся флаги спама исчезнут через два дня. – APC