我正在使用Xcode 7.0并在iOS 8上进行测试。这是我的视图层次结构:
内容视图将以下约束设置为滚动视图:
滚动视图的内容大小设置如下:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self.scrollView setContentSize:CGSizeMake(CGRectGetWidth(self.scrollView.bounds), CGRectGetMaxY(self.viewAddress.frame) + kICMarginStandard)];
}
但是,“内容”视图不会调整为滚动视图的内容高度,而只会调整为屏幕高度。即使滚动视图正确滚动并且可以看到我的文本字段,如果我点击它们也不会接收到触摸事件。
这是一个屏幕截图,其中内容滚动到底部,内容视图具有红色背景颜色。选择国家/地区接收触摸事件,但是zip,城市和地址文本字段不会:
如何解决这个问题,以便我的所有文本字段都能正常工作?
答案 0 :(得分:0)
由于您使用自动布局,因此无需手动设置scrollView的contentSize。
您只需要在scrollView的子视图之间正确设置约束,并为scrollView的边缘添加约束,例如:
scrollView.Top- | -contentView.Top- | -subview- | -subview- | -...- | -contentView.Bottom- | -scrollView.Bottom
左右边缘相同,因此scrollView的内容大小将自动计算。
检查两次子视图之间的约束。