我希望保持UIView的垂直大小,并调整其水平大小以匹配UIScrollView的大小,后者会根据设备方向而变化。请注意,这一切都放在UISplitViewController的详细视图中。
因此,用户将需要垂直滚动,但不需要水平滚动,因为UIView上的所有文本字段都应自适应地调整大小以水平适应屏幕。
当前,如果我通过更改UIView的框架宽度来调整其大小以匹配UIScrollView的框架宽度,则UIView的子视图(文本字段)不会根据IB中设置的约束自适应调整大小。UIView似乎只被剪裁了。没有水平滚动,所以这方面的工作是正确的。
我已经在UIView和UIScrollView上设置了子视图自动调整大小。
你有什么提示?
还有,如果设备方向发生改变,我应该把调整UIView大小的代码放在哪里?
附加信息:
我在IB中创建了UIView作为同一个NIB中DetailViewController的一个单独视图。因为它比UIScrollView高得多,所以我在IB中找到的唯一方法就是将其设置为所需的宽度和高度的单独视图。然后,我创建一个IBOutlet,并在viewDidLoad方法中将此视图作为子视图添加到UIScrollView中。所有这些似乎都很好地工作了,除了UIView的子视图在水平方向上没有被调整大小。
你对我可能做错了什么有什么建议吗?
[self.scrollView addSubview:self.contentView]; self.scrollView.contentSize = self.contentView.frame.size; self.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth; self.contentView.autoresizesSubviews = YES;
- Duncan Groenewald