Я хочу отобразить текст с большим количеством строк. Я добавил многострочную метку в представление прокрутки, но она ничего не показала. Похоже, это неправильный способ использования прокрутки. Как использовать режим прокрутки, чтобы пользователи могли перетаскивать текст вниз, чтобы увидеть больше текста?
Как использовать прокрутку на iPhone?
Ответы (4)
Вы можете просто использовать UITextView. Это дочерний элемент UIScrollView, и если вы установите для его свойства text количество текста, которое не помещается в его рамку, представление станет прокручиваемым.
документация по UIScollView от Apple довольно хороша, вы должны начать там и понять класс.
Думайте о Scrollview как о большой поверхности просмотра, по которой скользит экран*. Вы можете добавить подвиды к прокрутке, а затем прокрутка будет похожа на позиционирование экрана над прокруткой - экран действует как окно, через которое вы можете видеть часть содержимого прокрутки ниже.
Для этого у scrollview есть несколько дополнительных свойств по сравнению с обычным UIView, но он похож на UIView в одном важном отношении: он сам не отображает какой-либо контент. Вам нужно добавить подвид, чтобы нарисовать текст. Scrollview настраивается и отображается точно так же, как UIView, т.е. вы устанавливаете фрейм, добавляете его в другое представление, и для отображения текста вам нужно добавить подпредставления в UIScrollView, которые могут фактически отображать текст.
Чтобы настроить базовый UIScrollView, который вы запрашиваете, вы должны просто создать его как обычное полноэкранное представление - установить рамку того же размера, что и окно, и добавить прокрутку в окно в качестве подпредставления. Затем создайте большой UITextView для хранения вашего текста. Представление UIText может быть сколь угодно большим, в частности, оно может быть больше экрана. установите свойство contentSize UIScrollView таким же, как кадр UITextView, а затем добавьте представление UIText в качестве подпредставления UIScrollView.
Как только вы заработаете, вы сможете автоматически перемещать контент с помощью свойства contentOffset, управлять масштабированием и настраивать делегата для наблюдения за событиями прокрутки.
* точнее, по которому скользит рамка, но я предполагаю, что вы делаете полноэкранный UIScrollView. Я уверен, что вы можете обобщить это, если вы хотите меньшее представление.
Я использовал 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];
Вы можете обратиться к этому веб-сайту http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone/
Следуйте шаг за шагом, чтобы сделать вид прокрутки в iphone ... удачи :)