我在xib文件中创建了UIScrollView,其中包含一些子视图和约束。

然后将其实用地添加到视图中。

    NSArray *arr = [[NSBundle mainBundle] loadNibNamed:@"View" owner:self options:nil];
self.scrollView = arr[0];
[self.view addSubview:self.scrollView];

self.scrollView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);

scrollView确实会添加到视图中,但是它的frame或contentSize总是错误的,我尝试重置其contentSize但没有用。

它始终可以水平滚动。我希望它像UIView一样调整大小以适合其父框架,希望有人可以帮助我解决它。

ios - 如何使UIScrollView在NSLayoutConstraint中适合其父框架?-LMLPHP

ios - 如何使UIScrollView在NSLayoutConstraint中适合其父框架?-LMLPHP

最佳答案

如果您不想使用情节提要,则可以通过编程方式为前导,尾随,顶部和底部添加约束:

[self.view addSubview:self.scrollView];

self.scrollView.translatesAutoresizingMaskIntoConstraints = NO;

[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[scrollview]-|" options:0 metrics:nil views:@{@"scrollview":self.scrollView}]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[scrollview]-|" options:0 metrics:nil views:@{@"scrollview":self.scrollView}]];

[self.view updateConstraints];
[self.view layoutIfNeeded];

10-07 18:36