UIScrollView w Storyboard nie działa z klasami wielkości iOS 8 i Autolayout

Więc staram się utworzyć UIScrollView tylko w storyboard that pozwala mi dodawać przewijane etykiety na więcej niż wysokość VC. Oto co zrobiłem:

  1. Utworzone UIScrollView, które przyjęły rozmiar dowolnej szerokości dowolnej wysokości VC

  2. Wykonane ograniczenia 0 dla odstępów do najbliższego sąsiada na górze, dole, lewo i prawo

  3. Stworzył widok, który jest {[2] } z UIScrollView o tej samej szerokości co any width any height VC ale wysokości 1500 (bo tylko chcesz, aby przewijał się pionowo).

  4. Ustaw ograniczenia na najbliższego sąsiada jako 0 tylko dla lewej, górnej i prawej strony i ustaw ograniczenie wysokości jako 1500.

  5. Na górze subView i na dole

Kiedy uruchamiam aplikację na iPhonie 6, nie przewija się pionowo, jak chcę. Jakieś pomysły, dlaczego to nie działa? Z góry dzięki.

Author: Ashish Kakkad, 2014-11-04

4 answers

Aby uzyskać przewijanie, musisz przypiąć widok podrzędny ("Widok zawartości") do góry, lewej, dolnej i prawej strony widoku przewijania. Ponadto musisz podać mu (do" widoku zawartości") jawną (=niezwiązaną z widokiem przewijania) wysokość i szerokość, ponieważ są one używane przez widok przewijania do obliczania jego rozmiaru zawartości. W Twoim przypadku ustaw szerokość równą głównej szerokości widoku VC i wysokość na 1500. Gdy szerokość lub wysokość są większe niż rozmiar widoku przewijania, przewija się.

Scroll ograniczenia widoku (przypięte do widoku głównego)

ograniczenia widoku przewijania

Widok zawartości (przypięty do widoku przewijania + wysokość 1500, szerokość=szerokość widoku głównego) + ograniczenia etykiety (jako przykład: 20 20 z widoku zawartości po lewej stronie)

Widok zawartości + ograniczenia etykiet

 45
Author: valfer,
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
2014-11-04 19:02:24

Dla łatwiejszej wizualizacji, stworzyłem film o tym, jak to zrobić.

Wideo na temat tworzenia widoku przewijania tylko w pionie w systemie iOS

 8
Author: Marco Almeida,
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
2015-10-28 23:07:53

Czy Ustawiłeś contentsize większy niż sam ekran? W Twoim przypadku, po prostu większy.

Jak mówi dokumentacja Apple: "Właściwość contentSize należy ustawić na rozmiar przewijanej zawartości . Określa rozmiar przewijanego obszaru."

 1
Author: pablogthuillier,
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
2014-11-04 18:48:55

Jedynym rozwiązaniem jest dodanie ograniczeń do prawej i dolnej części dolnej części widoku potomnego widoku przewijania. Sprawdź również, czy wszystkie widoki od góry do dołu mają odpowiednie ograniczenia wraz z wysokością. W widoku przewijania dodaj ograniczenie o jednakowej szerokości i jednakowej wysokości do widoku superview.

 0
Author: komall,
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-11-02 12:45:57