Xcode|Xcode 11 UIScrollView xib storyboard设置约束报错问题

新升级了Xcode11以后,在xib中创建UIScrollView约束时会报错。
我们可以看到UIScrollView新增了两个Layout,一个是Frame Layout Guide,一个是Content Layout Guide
Xcode|Xcode 11 UIScrollView xib storyboard设置约束报错问题
文章图片
两个Layout 罪魁祸首就是这个Frame Layout Guide
当我们使用“Add New Constraints”工具(就是平时设置约束的那个小方块)给内容视图设置约束时会自动将参考视图设置为Frame Layout Guide
Xcode|Xcode 11 UIScrollView xib storyboard设置约束报错问题
文章图片
Frame Layout Guide 这里我们只需要把参考视图设置为ScrollView即可,这样就解决咯,使用旧的方式去布局即可,只要保证参考视图为ScrollView就可以使用旧的约束方法去给他加约束。所以不用管这两个Layout即可
至于这两个Layout咋用,以后有时间再写吧,我觉得还是旧的方法好用。
那下面我也具体讲解一下该如何布局把。

  1. 添加UIScrollView设置上下左右约束。报错不用管
Xcode|Xcode 11 UIScrollView xib storyboard设置约束报错问题
文章图片
UIScrollView约束
  1. UIScrollView上添加一个UIView视图作为内容的根视图。这里要说明一下,虽然直接往UIScrollView上加视图也是可以的,但毕竟有个根视图还是更规整一些,在复制或者整体调整时也更方便。
  2. 【Xcode|Xcode 11 UIScrollView xib storyboard设置约束报错问题】UIView设置上、下、左、右、高(高可以先设置个固定的,等其他视图都加好以后将高度删除,然后让最后一个视图的下约束等于根UIView的下约束即可自适应滑动高度。垂直滚动设置高度,水平滚动设置宽度)、水平居中(垂直滑动设置水平居中,水平滑动设置垂直居中)
UIView约束 Xcode|Xcode 11 UIScrollView xib storyboard设置约束报错问题
文章图片
水平居中
  1. 完成,现在根视图就是一个垂直滚动的ScrollView了,你可以把根视图的高度约束设置成1000看看滚动效果。也可以往根视图上加一些其他视图看效果。

    推荐阅读