2012-05-05 62 views
6

Tworzę aplikację do użytku na OS X i zauważam, jak użyteczna jest nowa funkcja ograniczeń w Konstruktorze interfejsów (oczywiście wbudowanym w Xcode). Jest tak przydatny i dynamiczny, że pytam, czy powinienem ustawić minimalny rozmiar okna, czy też polegać tylko na ograniczeniach moich okien, aby ustawić same wartości minimalne i maksymalne.Czy należy używać ograniczeń widoku lub minimalnego rozmiaru okna?

Mam wrażenie, że OS X bierze pod uwagę minimalne i maksymalne rozmiary okien w kwestiach innych niż ograniczenie rozmiaru okna w pewien sposób i że może być przydatne ustawienie minimalnych i maksymalnych wartości dla tego dobra, ale ja też mam ochotę dobrym stylem może być poleganie na ograniczeniach dynamicznego ustawiania minimalnej i maksymalnej wysokości okna ze względu na ich dynamiczne zachowanie i wszystko inne. Na przykład, jeśli zdecyduję się zmienić minimalną szerokość kontrolki z ograniczeniami, nie muszę się też martwić o zmianę minimalnej szerokości minimalnego okna.

Innym, jeszcze ważniejszym przykładem korzyści polegających na poleganiu na ograniczeniach w ustawianiu minimalnych i maksymalnych rozmiarów okna jest to, że jeśli użytkownik zmieni coś w rodzaju rozmiaru tekstu, zmienione elementy sterujące w mojej aplikacji będą w stanie dynamicznie zmieniać ograniczenia rozmiaru, ale statycznie ustawiony minimalny i maksymalny rozmiar okna zrujnowałby to dynamiczne zachowanie.

Po raz kolejny wszystkie te korzyści należy również wziąć pod uwagę, pamiętając, że OS X może uwzględniać w minimalnym i maksymalnym rozmiarze okna i że z tego powodu może być przydatne ustawienie minimalnych i maksymalnych rozmiarów okna. ; Po prostu nie jestem pewien , jeśli OS X bierze je pod uwagę, a jeśli tak, to , w jaki sposób używa ich.

Przeglądnąłem dokumentację Apple i nie mogę znaleźć niczego, co stanowi satysfakcjonującą odpowiedź.

Odpowiedz

2

Najlepszą rzeczą do zrobienia w takiej sytuacji jest wypróbowanie tego samodzielnie. Utworzenie nowej aplikacji za pomocą jednego okna i kilku kontrolek zajęło nie więcej niż dwie minuty. Nie trzeba dodawać żadnego kodu w ogóle, jeśli chcesz po prostu grać resizable okna:

window 1

To okno ma minimalną wielkość i żadnych ograniczeń, a problem jest oczywiste. Można zmienić rozmiar okna tak, że wygląda tak:

window 2

Dodanie kilku wiązań między przyciskami pokazuje obietnicę, że ograniczenia świadczenia. Teraz okno wygląda to na swoim najmniejszym rozmiarze:

window 3

jeszcze kilka ograniczeń na etykiecie wreszcie dała pożądany rezultat:

window 4

to świetnie, ale zajęło trochę pracy, aby się tam dostać. Nie dodałem kompletnego zestawu ograniczeń - pionowe ograniczenie między dwoma prawymi przyciskami byłoby zbędne, ponieważ jest już jeden pomiędzy przyciskami po lewej stronie. W przypadku okna z wieloma kontrolkami, ustawienie wystarczającej liczby więzów dla pokrycia wszystkich widoków może być: a) bardzo przydatne i wartościowe, lub b) bólem w kolbie i niewielką dodatkową wartością. To zależy od twojej sytuacji. Prostszym schematem jest po prostu sumowanie wysokości kontrolek, które mogą się nakładać (dwa przyciski i etykieta) oraz pożądanych odstępów między nimi, a następnie ustawiać je jako minimalną wysokość okna.

Widzę, że obie strategie są przydatne, w zależności od zawartości okna. W rzeczywistości, nie sądzę, że w rzeczywistości są to dwie oddzielne strategie ... ustawienie minimalnych wymiarów okna jest po prostu kolejnym rodzajem ograniczenia, które dodajesz. Na przykład może istnieć rozmiar, poniżej którego okno będzie wyglądać głupio lub nie będzie zbyt użyteczne, więc możesz ustawić minimalny rozmiar okna na te wymiary. Jednocześnie możesz chcieć ustawić ograniczenia między przyciskami, aby zapobiec nakładającym się kontrolom w zlokalizowanych wersjach (np. Niemieckie nazwy wydają się być dość długie).

Powiązane problemy