RelativeLayout lub linearlayout w rozwoju iOS iPhone?
Chcę dodać widok podrzędny u góry mojego widoku, muszę przeliczyć pierwotną wartość y dla wszystkich innych widoków i zmienić ich położenie, aby zostawić miejsce na nowy dodany widok.
Jest to bardzo nudne, ponieważ wiem, że android ma układ relatywny lub liniowy układ może pomóc to zrobić automatycznie.
Jak łatwo rozwiązać ten problem w rozwoju iOS?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
6 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
CSLinearLayoutView
https://github.com/scalessec/CSLinearLayoutView
Używasz tego w ten sposób:
Anonimowy użytkownik
Potwierdzenie od:
Zacząłem od zwykłej zamiany layoutSubviews na prostą pętlę przez podwidoki, które zrzucają oryginalne dane, jednocześnie zachowując działanie Y. Ale do widoku przewijania dodano kilka nieoczekiwanych rzeczy, w tym widok UIInlineAutoCorrect z pól tekstowych/widoków, co oznacza, że te rzeczy zostały zniekształcone przez układ . Dodałem więc trochę logiki, która używa właściwości tagu UIView, aby określić, czy powinienem to rozłożyć:
Jeśli nadal chcesz używać unikatowych tagów w swoich widokach, wystarczy określić zakres tagów, które zostaną uwzględnione w układzie, a nie pojedynczą wartość.
Anonimowy użytkownik
Potwierdzenie od:
Widoki mogą być budowane przy użyciu IB lub pisane programowo; Android działa tutaj dobrze, jeśli chodzi o czytelność układów, i możesz wnieść tę korzyść do widoków generowanych programowo na iOS. Fakt, że istnieje wiele urządzeń z systemem iOS oznacza, że poza czytelnością wzór ten nie ma (jeszcze?) Wielu praktycznych zalet.
NB. Plik XIB jest plikiem XML. Otwórz go w swoim ulubionym edytorze tekstu i spójrz.
** EDIT.
Oto szybki przykład, który podskoczyłem. Nie zostało to przetestowane, ale coś takiego będzie działać w Twojej podklasie (być może nazwij to ).
Anonimowy użytkownik
Potwierdzenie od:
iOS
nie zawiera przepisów dotyczących pozycjonowania widoków w różnych układach, takich jak
Android
... Musisz przenieść wszystkie inne podgatunki, aby zrobić miejsce dla nowego gatunku.
Istnieje kilka metod zmiany rozmiaru widoku, takich jak i , ale nie pomogą one w tym przypadku.
Anonimowy użytkownik
Potwierdzenie od:
Ponadto, jeśli po prostu dodajesz podwidoki w powtarzalny sposób, możesz zastąpić metodę i użyć jej do obsługi ręcznej pracy za Ciebie. Wspomniałeś o potrzebie „przeliczenia oryginalnej wartości y dla wszystkich innych widoków i zmiany ich położenia, aby zostawić miejsce na nowo dodany widok” ... możesz to zakodować w swoim , aby nie mieć za każdym razem robić to samodzielnie.
Niestety, SDK nie ma domyślnie żadnego z nich. jest świetny, ale nie możesz go użyć do początkowego linkowania; służy to do automatycznego użycia tylko podczas obracania.
Anonimowy użytkownik
Potwierdzenie od:
Możesz również ustawić odstępy między widokami w widoku stosu, dodając dopełnienie.
WARNING
: podczas dodawania widoków podrzędnych widoku stosu do kodu, należy zawsze używać metody w ten sposób:
Jeśli spróbujesz użyć zwykłego starego , nie będzie działać poprawnie, ponieważ widok stosu nie będzie wiedział, jak go ustawić.
Jeśli chodzi o usuwanie, musisz uważać, aby użyć
i
, w przeciwnym razie widok nie zostanie poprawnie usunięty.
Możesz potrzebować mojego
podręcznik
https://www.hackingwithswift.com/read/31/overview
UIStackView.