Obiettivo:corrispondenza di visualizzazione secondaria alla sua superview usando autolayout
Avere un UIWebView
essere la stessa larghezza come è superview, che è un UIScrollView
, utilizzando autolayout vincoli.
Codice
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);
risultato corrente
Quando annoto la larghezza della self.questionWebView
(la UIWebView
), è la larghezza non cambia quando viene applicato il vincolo layout automatico.
Domande
- È questo l'approccio corretto?
- Cosa sto sbagliando?
P.S so che è contro le raccomandazioni di Apple per effettuare una UIWebView
in un UIScrollView
, però ho spento la possibilità di scorrere la UIWebView
utilizzando la proprietà self.questionWebView.userInteractionEnabled = NO;
. E attualmente l'utilizzo di UIWebView è la mia migliore strategia per la visualizzazione di una tabella HTML.
Puoi farlo anche in IB: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/AutoLayoutbyExample/AutoLayoutbyExample.html#//apple_ref/doc/uid/TP40010853-CH5-SW5 "Creazione di viste ancorate all'interno di una vista di scorrimento" – Brenden