使用autoLayout布局ScrollView(内嵌多个TableView)的一些小结
2015-09-20 11:05
387 查看
实习离职在宿舍,当然也不能闲着,把一些常用的、自己还不太熟悉的东西搞一搞。
首先注意ScrollView的自动布局是特殊的,不仅需要drag一些约束来确定其自身的位置,大小(x,
y, width, height),还需要在storyboard中确定其ContentSize的大小。
通常来讲
1.ScrollView没有固定的高度、宽度。一般都是与SuperView发生联系(eg:距离父控件上下左右均为零)
2.ScrollView中内容较多时,为了简化布局,采用化整为零的做法,将原本ScrollView中的多个子View放到一个ContentView(UIView)中,让这个ContentView独自应对外界(ScrollView)的变化,ContentView内部的子View只需要实现普通的约束即可(eg:本例中实现的是左右滑动切换至不同的TableView,共三个TableView)
3.在具体设置ContentView与其父控件ScrollView的约束时,特别需要注意的是,Content
View的Width、Height千万不要与ScrollView发生关系(eg:与ScrollView等高、等宽),通常的做法是在无关的外部找一个参照物,让ContentView与其发生Width、Height上的联系。
3.5本例中,contentView需要包含三个水平方向连续的TableView,因此其宽度为屏幕宽度的三倍。在外部找到一个与屏幕等宽的anchor
View,设置如下:
Proportional
Width t anchor View (MUtiplier
设置为3)
意思是contentView的宽度等于anchor
View的三倍,如果发现contentView变成屏幕宽度的0.3了,切换下双方的约束先后位置试试
4.对于第三点,还是想强调一下,由于自动布局需要确定ScrollView的ContentSize,所以Content
View的高宽一定要是独立于ScrollView存在的,这样才能正确确定ScrollView的Content Size,否则两者的约束之间互相依赖,就无法正确确定其ContentSize
5.如果TableView的顶部总是多出一块区域,上下滑动一下又没了,这样试试:
self.automaticallyAdjustsScrollViewInsets =
NO;
6.特别关注ScrollView的Bounces、Bounce Vertically、Bounce Horizontally这三个属性,在ScrollView中嵌套TableView的过程中,你可能会遇到这些家伙带来的麻烦
首先注意ScrollView的自动布局是特殊的,不仅需要drag一些约束来确定其自身的位置,大小(x,
y, width, height),还需要在storyboard中确定其ContentSize的大小。
通常来讲
1.ScrollView没有固定的高度、宽度。一般都是与SuperView发生联系(eg:距离父控件上下左右均为零)
2.ScrollView中内容较多时,为了简化布局,采用化整为零的做法,将原本ScrollView中的多个子View放到一个ContentView(UIView)中,让这个ContentView独自应对外界(ScrollView)的变化,ContentView内部的子View只需要实现普通的约束即可(eg:本例中实现的是左右滑动切换至不同的TableView,共三个TableView)
3.在具体设置ContentView与其父控件ScrollView的约束时,特别需要注意的是,Content
View的Width、Height千万不要与ScrollView发生关系(eg:与ScrollView等高、等宽),通常的做法是在无关的外部找一个参照物,让ContentView与其发生Width、Height上的联系。
3.5本例中,contentView需要包含三个水平方向连续的TableView,因此其宽度为屏幕宽度的三倍。在外部找到一个与屏幕等宽的anchor
View,设置如下:
Proportional
Width t anchor View (MUtiplier
设置为3)
意思是contentView的宽度等于anchor
View的三倍,如果发现contentView变成屏幕宽度的0.3了,切换下双方的约束先后位置试试
4.对于第三点,还是想强调一下,由于自动布局需要确定ScrollView的ContentSize,所以Content
View的高宽一定要是独立于ScrollView存在的,这样才能正确确定ScrollView的Content Size,否则两者的约束之间互相依赖,就无法正确确定其ContentSize
5.如果TableView的顶部总是多出一块区域,上下滑动一下又没了,这样试试:
self.automaticallyAdjustsScrollViewInsets =
NO;
6.特别关注ScrollView的Bounces、Bounce Vertically、Bounce Horizontally这三个属性,在ScrollView中嵌套TableView的过程中,你可能会遇到这些家伙带来的麻烦
相关文章推荐
- expand 与 unexpand 命令实例教程
- mysql中insert与select的嵌套使用方法
- ScrollView滚动条颜色的设置方法
- sql语句中单引号嵌套问题(一定要避免直接嵌套)
- 让DOS下输入命令时也可以象Linux一样用Tab键进行命令自动填充
- javascript 定时自动切换的选项卡Tab
- javascript+css 新闻显示tab 选项卡效果
- js实现的简洁网页滑动tab菜单效果代码
- (X)HTML Strict 下的嵌套规则
- javascript实现textarea中tab键的缩排处理方法
- 表现、结构、行为分离的选项卡效果
- Enter转换为Tab的小例子(兼容IE,Firefox)
- JS+CSS实现滑动切换tab菜单效果
- jQuery实现TAB风格的全国省份城市滑动切换效果代码
- jQuery实现带幻灯的tab滑动切换风格菜单代码
- jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
- jQuery简单tab切换效果实现方法
- 基于jquery的修改当前TAB显示标题的代码
- jquery实现超简洁的TAB选项卡效果代码
- jquery实现可自动收缩的TAB网页选项卡代码