Witam,
Czy mógłby mi ktoś dokładnie wyjaśnić jak działa i do czego służy Auto layout i size class?
Mam z tym problem ponieważ nie za bardzo wiem jak dopasować wygląd mojej aplikacji do każdego modelu iPhone.
Czytałem trochę na developer.apple.com ale nie do końca rozumiem jak to zrobić. Proszę o pomoc
Auto layout i size class
#1
Napisano 21 marca 2015 - 17:34
#2
Napisano 21 marca 2015 - 20:55
Odpowiem ci w takim skrócie, bo całość opisać długo by pisać, a jest od tego dokumentacja.
Autolayout - odpowiada za to, że rozmieszczasz elementy na ekranie i nadajesz im pewne właściwości związane z rozmiarem. Nadajesz im między innymi: Rozmiary, pozycje względem wybranych sąsiadów, sposób dostosowywania rozmiaru do zmian rozmiarów widoku (np. możesz określić, że lewa krawędź ma być 10 punktów od brzegu widoku, a prawa 10 od prawego brzegu i wtedy obiekt rozciąga ci się do szerokości widoku). Do rozmieszczenia używasz Constraints:
"przymocowań" brzegów do wybranych sąsiadów / widoków,
określeń stałych rozmiarów, lub równych dla wybranych grup obiektów,
określeń pozycjonowania (np. jeśli chcesz mieć obiekt o stałej szerokości zawsze na środku ekranu).
Co do size classes:
Dla różnego typu urządzeń możesz chcieć rozmieszczać obiekty w nieco inny sposób, np. interfejs dla iPada może mieć inne rozmieszczenie niż iPhone czy Apple Watch. Wtedy używasz size classes. Wszystkie constraints które ustawisz na klasie Any są aktywne dla wszystkiego typu urządzeń. Natomiast po przełączeniu klasy na wybraną ustawiasz constraints które dotyczą tylko wybranego rozmiaru ekranu.
Ważne jest, że przy używaniu constraints musisz w pełni określić wszystkie wymagane właściwości, aby iOS był zawsze w stanie do końca określić rozmieszczenie obiektów. Tzn. nie możesz np. określić tylko lewej i górnej krawędzi, musisz określić dodatkowo podać albo constraints do wysokości i szerokości, albo przyczepienie prawego i dolnego brzegu. Ogólnie chodzi o to, żeby ze wszystkich podanych constraints iOS był w stanie w stuprocentowej pewności rozmieścić wszystkie obiekty.
#3
Napisano 22 marca 2015 - 09:16
Polecam Ci ten tutorial: http://www.raywender...layout-tutorial - ja się z tego dużo nauczyłem.
Jest też na tej stronie wersja na Swift, ale nie mogę teraz poszukać.
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych