博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【转】iOS学习之Storyboard中的UIScrollView使用自动布局
阅读量:6326 次
发布时间:2019-06-22

本文共 977 字,大约阅读时间需要 3 分钟。

 在使用storyboard和xib时,我们经常要用到ScrollView,还有自动布局AutoLayout,但是ScrollView和AutoLayout 结合使用,相对来说有点复杂。根据实践,我说一下我的理解,在故事板或xib中,ScrollView是根据其下面的一个View的大小来确定ContentSize的大小。

看一下效果

  

1. 创建一个项目,拖拽一个ScrollView到故事板中,如下图

 

2. 选中ScrollView,添加约束。

 

3. 拖拽一个View到ScrollView上, 然后添加上下左右四周约束。

 

4.添加完之后, 可能会报一个错, 如下图, 这个暂时别去管。 

 

5. 我们先确定一下, 我们是需要水平方向的滚动还是竖直方向的滚动,或者水平方向和竖直方向都需要滚动。

a.水平方向和竖直方向都需要滚动的话, 不用添加

b.水平方向滚动需要添加下面一个约束

 

c.竖直方向需要添加下面一个约束

 

 

6.我们以水平方向滚动为例,  我们需要确定我们想要的宽度, 添加一个固定的宽度的约束。

 

 

 

7.选中View, 更新一下Frame

 

 

8.如果是想要动态设置ScrollView的宽度,也就是设置View的宽度约束的值, 我们将其拉成属性, 然后修改其值。

 

 

9. 如果是确定的宽度, 可以在- (void)updateViewConstraints这个方法中修改,也可以在别处修改。

 

 

10.现在运行,就可以水平滚动了。 竖直方向的滚动和水平方向滚动的设置差不多。 我们来添加两个View, 先拖拽一个View(我设为灰色)到视图上, 然后添加约束, 如下图

 

 

11.再拖拽一个View, 背景颜色设为红色,设置好之后, 将frame设置到我们需要的, 我这边将X设置到600。

 

12.我们给第二个View添加约束,如下图

 

 

13.我们还需要设置一个约束, 就是第二个View距离SuperView的距离,就是第二个View的Leading约束

 

 

14.然后将这个约束Leading拉成属性,在- (void)updateViewConstraints设置他的值

 

 

如下图

 

 

 

这样子就OK了。 

自动布局需要自己去多多实践, 有很多细节需要注意的。 

本文原文来自

 

转载于:https://www.cnblogs.com/gfxxbk/p/5582107.html

你可能感兴趣的文章
Entity Framework Tutorial Basics(38):Explicit Loading
查看>>
1073. 多选题常见计分法(20)
查看>>
mac 遇到的奇怪问题?
查看>>
Mysql导入导出数据库11111
查看>>
java 8 lambda表达式
查看>>
cmake默认变量
查看>>
页面触底自动加载数据
查看>>
多线程Thread
查看>>
UPX和WinUpack压缩壳的使用和脱法 - 脱壳篇06
查看>>
Markdown语法基础
查看>>
Kernel parameters for Db2 database server installation (Linux and UNIX)
查看>>
Chrome和IE中使用window.open函数
查看>>
Java多线程问题
查看>>
自己用树莓派做了一个电视盒子,还可以看优酷和cctv
查看>>
Valid Palindrome leetcode
查看>>
.NET Framework datetime类型与数据库中datetime类型的数据范围不一致
查看>>
jquery 对 checkbox 的操作
查看>>
pip使用代理下载
查看>>
后海日记(9)
查看>>
apache服务器全局配置详解
查看>>