2015-10-08 121 views
0

我使用的Xcode 7.0和测试在iOS 8.这是我的看法层次:子视图中的UIScrollView并根据内容的大小不能调整

  • 滚动查看
    • 内容的浏览
      • 一些标签和视图
      • 地址视图
        • 许多文本字段的,有序的垂直

含量视图具有设置为滚动视图以下约束:

  • 顶部,
  • 底部,
  • 龙头,
  • 落后,
  • align center x and
  • align center y。

滚动视图内容大小设置是这样的:

- (void)viewDidLayoutSubviews { 
    [super viewDidLayoutSubviews]; 
    [self.scrollView setContentSize:CGSizeMake(CGRectGetWidth(self.scrollView.bounds), CGRectGetMaxY(self.viewAddress.frame) + kICMarginStandard)]; 
} 

内容视图但是没有得到调整滚动视图的内容高度,而只是屏幕的高度。即使滚动视图正确滚动并且可以看到我的文本字段,但如果我点击它们,它们也不会收到触摸事件。

这里是内容滚动到底部并且内容视图具有红色背景色的屏幕截图。选择国家接收触摸事件,但拉链,城市和地址文本字段不:

Scrolled to bottom

我怎样才能解决这个所以我所有的文本字段的工作吗?

回答

0

由于您使用自动布局,因此无需手动设置scrollView的contentSize。

所有你需要的是滚动视图的子视图之间的正确设置约束和添加约束到滚动视图的边缘,是这样的:

scrollView.Top- | -contentView.Top- | -subview- | -subview- | - 。 ..- | -contentView.Bottom- | -scrollView.Bottom

和左右边缘相同,因此scrollView的内容大小将自动计算。

检查子视图之间的约束两次。

+0

谢谢。删除align center y约束,setContentSize代码和在Address和Content视图之间添加底部约束来修复它。 – puzzler

相关问题