NSLayoutConstraint to ograniczenie definiujące relację między dwoma obiektami interfejsu użytkownika, które muszą być spełnione przez system układu oparty na ograniczeniach. Dostępne w systemie iOS 6.0 i nowszych w UIKit oraz w OS X 10.7 i nowszych w AppKit.
Próbuję to rozgryźć od zeszłego tygodnia, nie idąc dalej. Ok, więc trzeba zastosować pewne ograniczenia programowo w Swift Do UIViewkorzystania z tego kodu: var new_view:UIView! = UIView(frame: CGRectMake(0, 0, 100, 100)); new_view.backgroundColor = UIColor.redColor(); view.addSubview(new_view); var constX:NSLayoutConstraint = NSLayoutConstraint(item: new_view, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.CenterX, multiplier: 1, …
Wiem, że łańcuch automatycznego układu składa się zasadniczo z 3 różnych procesów. aktualizacja ograniczeń widoki układu (tutaj otrzymujemy obliczenia ramek) pokaz To, co nie jest do końca jasne, to wewnętrzna różnica między -setNeedsLayouti -setNeedsUpdateConstraints. Z Apple Docs: setNeedsLayout Wywołaj tę metodę w głównym wątku aplikacji, jeśli chcesz dostosować układ widoków …
Mam widok, który jest całkowicie programowo opracowany przy użyciu automatycznego układu. Mam UITextView w środku widoku z elementami powyżej i poniżej. Wszystko działa dobrze, ale chcę mieć możliwość rozwijania UITextView w miarę dodawania tekstu. Powinno to zepchnąć wszystko poniżej, gdy się rozszerzy. Wiem, jak to zrobić na zasadzie „sprężyn i …
Poniżej znajduje się komunikat o błędzie, który otrzymałem w obszarze debugowania. Działa dobrze i nic się nie dzieje poza tym, że otrzymuję ten błąd. Czy to uniemożliwiłoby Apple zaakceptowanie aplikacji? Jak to naprawić? 2012-07-26 01:58:18.621 Rolo[33597:11303] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the …
Utworzyłem dwa widoki w jednym superviewie, a następnie dodałem ograniczenia między widokami: _indicatorConstrainWidth = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeWidth multiplier:1.0f constant:0.0f]; [_indicatorConstrainWidth setPriority:UILayoutPriorityDefaultLow]; _indicatorConstrainHeight = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f]; [_indicatorConstrainHeight setPriority:UILayoutPriorityDefaultLow]; [self addConstraint:_indicatorConstrainWidth]; [self addConstraint:_indicatorConstrainHeight]; Teraz chcę zmienić właściwość mnożnika za pomocą animacji, ale nie …
Nigdy wcześniej nie pracowałem z ograniczeniami autoukładu . Mam małą nową aplikację, nad którą pracuję i zauważyłem, że widoki NIB są domyślnie ustawione na automatyczne układanie. Pomyślałem więc, że skorzystam z okazji, aby z tym popracować i spróbuję dowiedzieć się, dokąd zmierza Apple. Pierwsze wyzwanie: Muszę zmienić rozmiar MKMapView i …
Mam UIView w moim UIViewController w scenorysie, do którego chcę dodać ograniczenie do przestrzeni, która wyświetla odległość od górnej krawędzi. Teraz, kiedy robię to zwykle, naciskając ctrl + przeciągnij do głównego widoku ViewControllera, dostaję tylko opcję ustawienia go na górny przewodnik po układzie. Jest to dla mnie problem, ponieważ w …
Pytanie, które mam, jest proste, ale nie udało mi się znaleźć żadnych informacji w dokumentacji. Co dzieje się z ograniczeniami układu, gdy widok zostanie usunięty z hierarchii widoków (lub przeniesiony do innego widoku)? Na przykład, miejmy kontener Cz podglądami podrzędnymi Ai B. Kontener Cma pewne ograniczenia. Wtedy dzwonimy [A removeFromSuperview]. …
Programowo używam ograniczeń układu automatycznego do układania moich niestandardowych komórek UITableView i poprawnie definiuję rozmiary komórek w tableView:heightForRowAtIndexPath: Działa dobrze na iOS6 i wygląda dobrze również w iOS7 ALE kiedy uruchamiam aplikację na iOS7, oto rodzaj komunikatu, który widzę w konsoli: Break on objc_exception_throw to catch this in the debugger. …
Skonfigurowałem wiele zestawów ograniczeń w IB i chciałbym programowo przełączać się między nimi w zależności od stanu. Istnieje constraintsAkolekcja outlet, z których wszystkie są oznaczone jako zainstalowane z IB oraz constraintsBkolekcja outlet, z których wszystkie są odinstalowane w IB. Mogę programowo przełączać się między tymi dwoma zestawami w następujący sposób: …
Mam UIViewi ustawiam ograniczenia za pomocą Xcode Interface Builder. Teraz muszę UIView'sprogramowo zaktualizować tę stałą wysokości. Jest funkcja, która działa jak myUIView.updateConstraints(), ale nie wiem, jak jej używać.
Nie mogę znaleźć sposobu na utworzenie ograniczenia „kwadratowego”, co oznacza, że „szerokość równa się wysokości” w programie Interface Builder. Myślę, ż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ę trywialne, ale nie mogę tego znaleźć.
Użyłem automatycznego układu moich kontrolerów widoku. Ustawiłem pozycje V i H w ograniczeniach, ale chcę wiedzieć, jak mogę zwiększyć rozmiar mojego przycisku, gdy zmieni się na 5s, 6 i 6 Plus. W ten sposób dodałem ograniczenia dla przycisku logowania: NSArray *btncon_V=[NSLayoutConstraint constraintsWithVisualFormat:@"V:[btnLogin(40)]" options:0 metrics:nil views:viewsDictionary]; [btnLogin addConstraints:btncon_V]; NSArray *btncon_POS_H=[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-100-[btnLogin]-100-|" …
Mam UITableViewController, który nie wyświetla żadnych sekcji, jeśli nie ma nic do pokazania. Dodałem etykietę, aby wskazać użytkownikowi, że nie ma nic do wyświetlenia z tym kodem: label = UILabel(frame: CGRectMake(20, 20, 250, 100)) label.text = "Nothing to show" self.tableView.addSubview(label) Ale teraz chcę, aby był wyśrodkowany w poziomie i w …
Szukałem wielu fragmentów w sieci i nadal nie mogę znaleźć odpowiedzi na mój problem. Moje pytanie brzmi: mam scrollView (SV) i chcę programowo dodać przycisk wewnątrz scrollView (SV) z tą samą szerokością i wysokością jego superview, którym jest scrollView (SV), aby po obróceniu użytkownika przycisk urządzenia miał taką samą ramkę …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.