2013-02-25 2 views
19

Может кто-нибудь, пожалуйста, направить меня к учебнику, о том, как реализовать вертикальное представление прокрутки в моем приложении iOS?Как сделать вертикальную прокрутку на iOS?

Я не могу поверить, что последние 2 дня я не могу найти ни одного рабочего примера только в вертикальном прокрутке. Все учебные пособия касаются горизонтальной прокрутки, масштабирования и т. Д.

Что я ищу, было бы чем-то вроде этого урока http://www.edumobile.org/iphone/iphone-programming-tutorials/scrollview-example-in-iphone-2/, в котором показано, как сделать uiscrollView и добавить к нему объекты из Builder, а не программно. Единственный недостаток, который я нашел, заключался в том, что при попытке добавить карту вниз в области прокрутки карта появится вверх, а не в том месте, где я ее разместил. Может быть, любые идеи по этому поводу тоже?

Что-нибудь в виду?

+0

http://idevzilla.com/2010/09/16/uiscrollview-a-really-simple-tutorial/ Если вы можете сделать горизонтальную прокрутку, вы автоматически получите ту, которая может также прокручиваться по вертикали. Просто правильно манипулируйте свойством contentSize. – borrrden

+0

Вы должны иметь возможность устанавливать srcollView.contentSize с большей шириной, чем ваш кадр прокрутки, который позволит ему прокручивать по горизонтали. В вашем xib нажмите scrollview и установите Scrolling Enabled и Bounce Horizontally. – BooRanger

+0

Да, я видел этот учебник и сделал это, не помогает вообще понять, как сделать вертикальный вид. Я бы предпочел что-то от конструктора интерфейса и не столько программирования – 2013-02-25 09:26:37

ответ

24

Итак, вы хотите создать прокрутку в xib.

  1. Добавить вид прокрутки файла СИБ
  2. установить его размер, чтобы все, что вы хотите

    enter image description here

  3. Добавьте элементы управления (кнопки, метки ..)

    enter image description here

  4. Добавьте его как вид к югу от главного вида

    enter image description here

  5. Наконец создать свойство зрения прокрутки и в viewDidLoad установить размер содержимого представления прокрутки

    self.scrollView.contentSize =CGSizeMake(320, 700); 
    
+0

Я выполнил ваши указания к письму. Я создал scrollView, как вы сказали, я добавил его в качестве подзаголовка, я добавил кнопки по всему моему scrollView, я создал @property (сильный, неатомный) IBOutlet UIScrollView * scrollView; и подключил его к моему scrollView. Однако представление не прокручивается :(Мне что-то не хватает? Мне нужно включить какое-либо свойство, чтобы его можно было прокручивать или smth? – 2013-02-25 10:21:47

+0

Вы установили размер содержимого в viewDidLoad 'self.scrollView.contentSize = CGSizeMake (320, 600) , –

+0

Да, конечно, я это сделал. – 2013-02-25 10:31:16

1

Просто изменить размер содержимого вашего scrollview.Let предположим, что вы создаете UIScrollView с последующим кадром

scl=[[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 620, 172)]; 

Позовите размер свойства содержимого вашей точки зрения прокрутки, как я показал ниже.

[scl setContentSize:CGSizeMake(700, 172)]; 

Теперь добавьте вид прокрутки на контроллер View/View и т. Д. И проверьте его.

13

Это простой, такой же, как горизонтальный вид прокрутки. Добавить Scrollview в иерархии представлений,

UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds]; 
[self.view addSubview:scrollView]; 

Теперь, чтобы сделать вид прокрутки прокручивать, установите его размер содержание Scrollview больше, чем его оценка.

[scrollView setContentSize:CGSizeMake(scrollView.bounds.size.width, scrollView.bounds.size.height*3)]; 

Теперь он может прокручивать три раза по высоте scrollView.

+0

нормально. Но как я могу поместить кнопки для отображения textview и т. Д. На мой взгляд? И я не имею в виду программную. Я имею в виду из построителя представлений. – 2013-02-25 09:35:50

+0

В раскадровке, или xib. Сначала перетащите карту и текстовое изображение на scrollview. Установите кадр отдельных элементов в scrollview. Но для установки содержимого вам нужно сделать это в коде. Просто посмотрите максимальную высоту и ширину и установите в viewdidload –

+0

. Я понимаю, что вы пытаетесь сказать, но я действительно не могу его кодировать. Вот почему, я попросил учебник. Большое вам спасибо за попытку помочь :) – 2013-02-25 09:46:07

4

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

Для быстрого исправления, я считаю, что это лучший подход и избавит вас от ОГРОМНОЙ головной боли.