Nie mogę znaleźć sposobu na utworzenie wiązania "kwadratowego", co oznacza "szerokość równa się wysokości" w Konstruktorze interfejsu. Sądzę, że możliwe jest programowe dodanie takiego ograniczenia. Czy jest coś, co mogę zrobić w IB? Może po prostu tego nie widzę? Wydaje się to banalne, ale nie mogę go znaleźć.Ograniczenie "szerokości równej wysokości" w konstruktorze interfejsów
Odpowiedz
Aktualizacja Xcode 5.1b5
Ctrl + kliknięcie i przeciągnięcie z widokiem i zwolnić gdy kursor znajduje się nad widzenia. Wybierz "Proporcje obrazu". Tworzy ograniczenie, w którym pierwszym i drugim elementem jest widok.
Przed Xcode 5.1
Nie można, ponieważ edytor szerokość/wysokość brakuje pól odnosić się do innej nieruchomości lub ustawić współczynnik:
Dlatego nie można wyrazić następującego kodu w programie Interface Builder:
CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
constraintWithItem:myView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:myView
attribute:NSLayoutAttributeHeight
multiplier:ratio
constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];
Dziękujemy za najnowszą aktualizację. Xcode 5.1 beta 5 faktycznie pozwala na ustawienie współczynnika proporcji w IB, ale kiedy próbuję skompilować projekt, dostaję następujący błąd: _Aspect ratio ratio z wersjami Xcode przed 5.1_. Więc może musimy poczekać na ostateczną wersję 5.1. To samo dla ciebie, @Jano? –
Tak, zmiany w XIB nie są wstecznie kompatybilne. Jeśli edytujesz w wersji 5.1, nie możesz wrócić do mniejszych wersji. – Jano
Więc jesteś w stanie skompilować Xib? To nie działa nawet z Xcode 5.1 beta 5 dla mnie. –
Pamiętam, jak Peter Ammon mówił o "Jak najbardziej polegać na konstruktorze interfejsów" w WWDC'12. Jak ironicznie. – DemoniacDeath
Tak, myślę, że wciąż brakuje kilku rzeczy w implementacji ograniczeń układu. Wygląda na to, że dali nam dostęp do większości parametrów, ale nie do mnożnika, który byłby przydatny dla wielu rzeczy. – rdelmar
Ale robi się coraz lepiej! Mam na myśli Auto Layout został wprowadzony mniej niż 3 lata temu i z mojego punktu widzenia wsparcie jest naprawdę dobre w dzisiejszych czasach. –