Я добавил ограничение, подобное этому, но не смог получить правильный ракурс.constraintsWithVisualFormat не работает должным образом?
[self addSubview:self.scrollView];
[self.scrollView addSubview:self.contectView];
NSDictionary *views = @{@"scrollView" : self.scrollView , @"contectView" : self.contectView };
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|" options:0 metrics:0 views:views]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[scrollView(==64)]" options:0 metrics:0 views:views]];
[self.scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[contectView]|" options:0 metrics:0 views:views]];
[self.scrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[contectView]|" options:0 metrics:0 views:views]];
[self layoutIfNeeded];
NSLog(@"%@",self.scrollView);
NSLog(@"%@",self.contectView);
Console O/р
<UIScrollView: 0x78fd47a0; frame = (0 0; 0 64); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x78faced0>; layer = <CALayer: 0x78facea0>; contentOffset: {0, 0}; contentSize: {0, 0}>
<UIView: 0x78fae7d0; frame = (0 0; 0 0); layer = <CALayer: 0x78fad970>>
Я аспектировал contectView высота рамы также 64. но она возвращает 0
Я не говорю о свитке здесь. Я установил ограничение равной высоты contectview так же, как scrollview. то почему он дает мне нуль, почему scrollview имеет высоту 64 px? –
Я точно объясняю, почему этого не происходит. В вашем представлении контента отсутствует собственный размер содержимого (поэтому равно 0), а во-вторых, если вы хотите сделать высоту равной, вы должны добавить ограничение размера на высоту, равную высоте просмотра прокрутки. Также прочитайте техническую записку от Apple, которую я связал. – Andrea
Ответ Андреа абсолютно прав. Попробуйте дать ясную ширину и высоту 'contectView', и она исправит вашу проблему. Например, '@" V: | [contectView (64.0)] | "' и '@" H: | [contectView (600.0)] | "'. Вы заметите, что вы можете установить эти значения больше ширины и высоты прокрутки, не вызывая конфликта макета - прокрутка будет просто прокручиваться, чтобы показать все 'contectView'. – johnpatrickmorgan