Mam kontroler View, w którym widok ma dwa widoki obrazu i dwa widoki tekstowe. Wyłączyłem automatyczny układ i programowo ustawiłem odległość między pierwszym widokiem tekstowym a pierwszym widokiem obrazu przy użyciu tego kodu: Poniższy kod jest w metodzie viewDidLoad mojej niestandardowej klasy kontrolera widoku. W obu przypadkach ustawiłem maskę autoreizing na No, więc nie mam pojęcia, dlaczego kod nie działa. (tf2_logo jest widok obrazu i itemName jest widok tekstowy)Ograniczenia nie działa z UITextView
self.tf2_logo.translatesAutoresizingMaskIntoConstraints = NO;
[self.backpackBackground addConstraint:[NSLayoutConstraint constraintWithItem:self.itemName attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.tf2_logo attribute:NSLayoutAttributeTop multiplier:1.0 constant:-1.0]];
[self.backpackBackground addConstraint:[NSLayoutConstraint constraintWithItem:self.tf2_logo attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.backpackBackground attribute:NSLayoutAttributeLeft multiplier:1.0 constant:17]];
Teraz chcę zrobić to samo z moim drugim widoku tekstu, w zasadzie chciałem zachować odległość między widoku tekstu ItemName a tekstem zobaczyć w pewnej odległości. Użyłem tego kodu: (TF2 jest mój drugi widok tekstowy)
self.tf2.translatesAutoresizingMaskIntoConstraints = NO;
[self.backpackBackground addConstraint:[NSLayoutConstraint constraintWithItem:self.itemName attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.tf2 attribute:NSLayoutAttributeTop multiplier:1.0 constant:-3.0]];
[self.backpackBackground addConstraint:[NSLayoutConstraint constraintWithItem:self.tf2 attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.tf2_logo attribute:NSLayoutAttributeRight multiplier:1.0 constant:20]];
Po wprowadzeniu tego kodu, widok tekst TF2 nawet nie pokazać się w kontrolerze widoku. Jaki jest problem?
EDIT: Można pobrać cały projekt tutaj: https://www.dropbox.com/sh/u820u2ndyrncuz8/P4atI-9CAx
Możesz pobrać projekt tutaj: https: //www.dropbox.com/sh/u820u2ndyrncuz8/P4atI-9CAx –
Nie chciałem używać autolayout, ponieważ dla UITextView pod dużym UIImageView, chciałem, aby tekst zaczynał się w górnej części widoku tekstowego, a nie w środku, jak zwykle to umieszcza xcode. Sprawdziłem, jak to zrobić na Stackoverflow, a użytkownik zasugerował, że wyłączam autolayout. –
Czy możesz podać więcej szczegółów na temat problemu z umieszczaniem tekstu? Z moimi testami w UITextView tekst znajduje się u góry (z UILabelami siedzi w pionowym środku). –