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:
-
Utworzone
UIScrollView
, które przyjęły rozmiar dowolnej szerokości dowolnej wysokości VC -
Wykonane ograniczenia 0 dla odstępów do najbliższego sąsiada na górze, dole, lewo i prawo
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).Ustaw ograniczenia na najbliższego sąsiada jako 0 tylko dla lewej, górnej i prawej strony i ustaw ograniczenie wysokości jako 1500.
-
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.
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)
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)
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
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."
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.
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