作者:默默_David
链接:https://www.jianshu.com/p/3161da83ee42
概要
在Xcode11中对UIScrollView在Xib中的布局,苹果引入了Content Layout guide和Frame Layout Guide。我们拖动一个UIScrollView到Xib中,默认就会有Content Layout guide和Frame Layout Guide两个选项嵌入。如下图:
(1)将右边检查器中Content Layout Guides的勾勾去掉,这样Content Layout guide和Frame Layout Guide在UIScrollView中就会自动消失,这时候布局就跟以前的Xcode版本一样,网上教程有很多,不在本文的讨论里面
(2)保留Content Layout guide和Frame Layout Guide,分别对它们进行设置,完成UIScrollView的内容布局,本文则讲解这种方式的布局步骤进行实现
实现步骤
最终实现目的
要将这样的UIScrollView成功布局,我们要完成两个部分:
(1)完成UIScrollView自身相对于父视图的布局设置,这个是Frame Layout Guide的部分
(2)完成UIScrollView滚动内容的布局设置,这个是Content Layout guide的部分
在下面,我们就一步步就完成这些设置
一、在视图控制器中拖入一个UIScrollView并设置约束
拖入一个UIScrollView到ViewController中,并分别设置它相对于父视图的约束为0,如下图
二、拖入一个UIView到UIScrollView中,并设置它的约束
注意上图中右边红框区域,默认的一般不是0,要将它手动修改为0
接下来,我们将View改名为ContentView,方便标识
三、设置内容滚动范围
在设置完成后,我们会发现,所有的红线都不存在了,而且关于滚动视图的范围都已经设置好了,如果有变化,可以像以前一样将约束拖线到代码中进行设置
接下来关于内容的设置,就和以前的一样了,像以前一样进行设置即可