Cel:Dopasowany podrzędny do swojego superview użyciu autolayout
Mieć UIWebView
mieć tę samą szerokość jak to superview, który jest UIScrollView
, używając autolayout ograniczeń.
Kod
NSLayoutConstraint *makeWidthTheSameAsScrollView =[NSLayoutConstraint
constraintWithItem:self.questionWebView
attribute:NSLayoutAttributeWidth
relatedBy:0
toItem:self.masterScrollView
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0];
[self.view addConstraint:makeWidthTheSameAsScrollView];
NSLog(@"The width of questionWebView *AFTER* adding the constrain is: %f", self.questionWebView.frame.size.width);
NSLog(@"The width of scrollView *AFTER* adding the constrain is: %f", self.masterScrollView.frame.size.width);
Aktualny Wynik
Kiedy loguję szerokość self.questionWebView
(w UIWebView
), to szerokość nie zmienia się, gdy ograniczeniem autolayout jest stosowana.
Pytania
- Czy to właściwe podejście?
- Co robię źle?
p.s Wiem, że to wbrew rekomendacji Apple'a do umieszczenia UIWebView
w UIScrollView
, jednak mam wyłączony zdolność do przewijania UIWebView
przy użyciu właściwości self.questionWebView.userInteractionEnabled = NO;
. A obecnie używanie UIWebView to moja najlepsza strategia wyświetlania tabeli HTML.
Możesz to zrobić również w IB: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/AutoLayoutbyExample/AutoLayoutbyExample.html#//apple_ref/doc/uid/TP40010853-CH5-SW5 "Tworzenie widoków zakotwiczonych wewnątrz widoku przewijania" – Brenden