Twój rozmiar zmienia się, ponieważ ma ograniczenia, mówiąc, że przestrzeń nad nim, pod nim, po lewej stronie, a po prawej powinna być ustalona. To są linie, które można zobaczyć w widoku na ekranie. Jedynym sposobem na spełnienie tych ograniczeń podczas zmiany rozmiaru okna jest zmiana rozmiaru widoku.
Możesz wybrać linie więzów, aby je zmodyfikować lub usunąć. Możesz pomyśleć, że możesz usunąć te poniżej i po prawej stronie, a twój widok nie będzie już musiał zmieniać rozmiaru, aby spełnić pozostałe ograniczenia, ale to nie działa. Widok wymaga (zestawu) ograniczeń, które określają zarówno rozmiar, jak i odstępy: posiadanie (automatycznie utworzonych) ograniczeń odstępów po obu stronach implikuje rozmiar, ale jeśli pozbyłeś się jednego z nich, rozmiar nie byłby już określony. (Dlatego nie można pozbyć się automatycznie tworzonych wiązań - tych, które pojawiają się jako wąskie, niebieskie linie w widoku i fioletowych ikon w zarysie dokumentu).
To nie jest problem dla przycisku ponieważ przyciski znają rozmiar, a IB zna wielkość przycisków. IB nie wie o twoim niestandardowym widoku, więc musisz sam ustawić ograniczenia. Po wybraniu widoku wybierz Edytor> Przypnij> Szerokość, aby utworzyć ograniczenie szerokości. To tworzy ograniczenie szerokości i zamienia istniejące ograniczenia odstępu na ograniczenia użytkownika (w przeciwieństwie do automatycznych) - pojawiają się one jako linie ciągłe i mają niebieskie ikony w obrysie dokumentu.
Teraz można wybrać ograniczenie odstępu po prawej stronie i usunąć je, a widok zachowa swoją szerokość i pozostanie w lewo. Powtórz dla wysokości i przestrzeni poniżej, a twój widok pozostanie w lewym górnym rogu i nie zmieni rozmiaru.
Możesz przeczytać więcej na temat nowego systemu automatycznego układu in Apple's guide.
Czy sprawdziłeś automatyczne sterowanie w Inspektorze rozmiarów? – Wienke
@Wienke, tak, sprawdziłem je. Musiałem przekręcić każde pokrętło i inspektora atrybutów pod kątem każdego ograniczenia, ale nie mogłem uzyskać pożądanego zachowania. – rid
Naprawdę? Właśnie ją przetestowałem, a po usunięciu rozpórki prawej i poziomego noszy mogę zamrozić szerokość wydziału. Zauważyłem, że elementy sterujące na screenach wyglądają inaczej niż te w Xcode 4. A może dodałeś kod, który określa atrybuty autosize dla tego widoku? To by przeważyło cokolwiek robisz w układzie graficznym. – Wienke