UIScrollView使用autolayout 垂直滚动
转自:http://dadage456.blog.163.com/blog/static/30310744201491141752716 1、创建一个空白的UIViewController 、将UIScrollView添加到UIView控件中,并设置UIScrollView针对父视图UIView的constraints(Leading/trailling/top/bottom = ) 、最主要的来了,添加UIView控件到UIScrollView中。。
()并改名为ContentView....(UIScrollView主要是靠子视图来实现autolayout的高度和宽度的计算)
()然后设置ContentView的针对父视图UIScrollView的 constraints
、Leading/trailling/top=
、bottom =
、equal height / equal width (ContentView的高度和宽度 与 UIScrollView相等)
、设置equal height的优先级 priority 小于 刚才设置的bottom的优先级(该bottom的是ContentView针对UIScrollView的constraints),这里设置priority=.
需要注意
第一:为什么 bottom = 而不是 bottom = 。
在实际开发中,如果为0,并且ContentView中的内容高度不超过屏幕的高度时,uiscrollview不能下上拉动。
第二:要实现ContentView 的高度自适应为uiscrollview的contentSize的高度,需要ContentView中的子视图有明确的top与bottom,用来让autolayout计算出ContentView的实 际高度.
第三:为什么要设置equal height 的优先级。。。我们来写个公式更容易理解
因为
scrollview.height = uiview.height
又因为
ContentView.height = scrollview.height +
所以
ContentView.height != scrollView.height 也就是不能实现equal height 这个constraints。。会报错。
只要调整一下优先级就可以解决这个问题,出现冲突,优先适应ContentView的高度.... 现在你可以在ContentView上添加你想添加的控件,但记住如果你要添加的控件已经超出了屏幕的高度,你需要给ContentView里面的子控件加上bottom 和 top(不超过你也可以添加),这样autolayout才能计算出ContentView的高度,并将这个高度赋给UIScrollView的ContentSize,实现自适应高度。。。 后记:ContentView中如果使用UILabel,要给uilabel明确的height constraint,这样auto layout才能计算出高度。
UIScrollView使用autolayout 垂直滚动的更多相关文章
- UIScrollView的AutoLayout约束
首先UIScrollview包含自身的frame和contentSize二个部分.frame决定其展示给用户的可见区域,contentSize决定其整个内容的大小.如果frame的宽高小于conten ...
- Android TextView多行垂直滚动
在Android应用中,有时候需要TextView可以垂直滚动,今天我就介绍一下怎么实现的.在布局里: <TextView android:id="@+id/tvCWJ" a ...
- js实现的新闻列表垂直滚动实现详解
js实现的新闻列表垂直滚动实现详解:新闻列表垂直滚动效果在大量的网站都有应用,有点自然是不言而喻的,首先由于网页的空间有限,使用滚动代码可以使用最小的空间提供更多的信息量,还有让网页有了动态的效果,更 ...
- 自己写一个jQuery垂直滚动栏插件(panel)
html中原生的滚动栏比較难看,所以有些站点,会自己实现滚动栏,导航站点hao123在一个側栏中,就自己定义了垂直滚动栏,效果比較好看,截图例如以下: watermark/2/text/aHR0cDo ...
- [转]jquery.vTicker(垂直滚动)
转至:http://www.w3ci.com/plugin/660.html 简介 vTicker 是一款非常小巧的 jQuery 垂直滚动插件,压缩后只有 2KB.vTicker 支持自定义滚动时间 ...
- Android自定义垂直滚动自动选择日期控件
------------------本博客如未明正声明转载,皆为原创,转载请注明出处!------------------ 项目中需要一个日期选择控件,该日期选择控件是垂直滚动,停止滚动时需要校正日期 ...
- 自定义ViewGroup实现垂直滚动
转载请表明出处:http://write.blog.csdn.net/postedit/23692439 一般进入APP都有欢迎界面,基本都是水平滚动的,今天和大家分享一个垂直滚动的例子. 先来看看效 ...
- javascript焦点图之垂直滚动
html代码布局,需要用到定位,不细说了 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- TextSwitcher实现文本自动垂直滚动
实现功能:用TextSwitcher实现文本自动垂直滚动,类似淘宝首页广告条. 实现效果: 注意:由于网上横向滚动的例子比较多,所以这里通过垂直的例子演示. 实现步骤:1.extends TextSw ...
随机推荐
- Kinect for Windows V2和V1对照开发___彩色数据获取并用OpenCV2.4.10显示
V1彩色分辨率:640x480 V2彩色分辨率:1920x1080 1,打开彩色图像帧的方式 对于V1: 使用NuiImageStreamOpen方法打开 hr = m_PNuiSensor-> ...
- 文件下载,带转码->pdf->swf
private String upload = "保存的路径"; //文件下载 public String download() { //初始化 this.initContext( ...
- 减少iOS应用程序安装包大小
安装包优化大小方法: <资源优化> 1.去除无用资源 通过几次项目的升级后,项目中会出现一些没有用到的图片.这些图片在我们导入到项目中后,之后项目升级过程后并没有再次用到. 那这些图片我们 ...
- (转)Android 判断用户2G/3G/4G移动数据网络
在做 Android App 的时候,为了给用户省流量,为了不激起用户的愤怒,为了更好的用户体验,是需(要根据用户当前网络情况来做一些调整的,也可以在 App 的设置模块里,让用户自己选择,在 2G ...
- 使用Ksoap2调用Web Service加入SoapHeader
关于这个问题,如果使用百度都是前篇一律的代码,好不容易上了google才找到完整的方法,这里讲所有的代码都贴出来与大家分享. 首先是.NET写的后台代码 /// <summary> /// ...
- js实现数字分页
///js数字分页 返回数组function page(pageCount, sideNum, pageNum) { //其实页 var startNum = 0; //结束页 ...
- Asp.net简单实现forms验证
<configuration> <system.web> <compilation debug="true" targetFramework=&quo ...
- RecycleView 瀑布流滑动移位
RecycleView StaggeredLayoutManager(瀑布流)滑动的时候,默认会出现item移动的问题,需以下来个步骤来解决: 附上StaggeredLayoutManager中的一段 ...
- Swift中的便利构造器和构造器链
import UIKit // 1.一个类中至少有一个指定构造器, 其必须负责初始化类中所有的实例存储属性 // 2.便利构造器属于次要的, 辅助性的构造器 // 3.类中可以不定义便利构造器, 便利 ...
- Uploadify插件使用方法
1.下载所需文件 2.导入所需文件,还需要应用jquery.js文件 3.导入css.js uploadify.css.jquery.uploadify.min.js 4.前端代码 p标签存放uplo ...