Nauka podstaw UIScrollView

Bardzo ciężko mi znaleźć dobre przykłady UIScrollView. Nawet Apple Uiscrollview Suite uważam, że trochę brakuje.

Szukam tutoriala lub przykładowego zestawu, który pokazuje mi, jak utworzyć coś podobnego do przewijania zakładki iPhone Safari, gdy pomniejszysz z jednego okna przeglądarki i możesz przenieść do innych.

Ale mam problem z wyświetlaniem starego widoku w widoku przewijania. Mam ustawiony widok z obrazkiem w nim, ale kiedy dodam go do widok przewijania, dostaję tylko czarny prostokąt, bez względu na to, co umieszczam w widoku, który dodaję.

Wszelkie linki lub fragmenty kodu byłyby świetne!

Author: M. Ryan, 2009-10-20

3 answers

Oto scroll view guide od Apple

Podstawowe kroki to:

  1. Utwórz UIScrollView i widok zawartości, który chcesz umieścić w środku(w Twoim przypadku UIImageView).
  2. spraw, aby Widok zawartości był podglądem podrzędnym widoku przewijania.
  3. Ustaw rozmiar zawartości widoku przewijania na rozmiar ramki widoku zawartości. Jest to bardzo ważny krok, który ludzie często pomijają.
  4. umieść widok przewijania w jakimś oknie.

Co do zachowanie stronicowania, sprawdź właściwość UIScrollView pagingEnabled. Jeśli chcesz przewijać mniej niż całą stronę, musisz pogrywać z clipsToBounds, coś w rodzaju odwrotności tego, co dzieje się w to pytanie Stoskoverflow.

 46
Author: Ben Stiglitz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:32:21
UIScrollView *scrollview = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 

NSInteger viewcount= 4; 
for (int i = 0; i <viewcount; i++) 
{ 
CGFloat y = i * self.view.frame.size.height; 
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, y,self.view.frame.size.width, self .view.frame.size.height)];      
view.backgroundColor = [UIColor greenColor]; 
[scrollview addSubview:view]; 
[view release]; 
}
scrollview.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height *viewcount); 

Aby uzyskać więcej informacji Utwórz programowo UIScrollView

 16
Author: Hema,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-27 11:29:23

Nowy 3/26/2013 Natknąłem się na łatwiejszy sposób, aby to zrobić bez kodu (contentSize)

Https://stackoverflow.com/a/15649607/1705353

 4
Author: Dickey Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:32