iOS Scrollview中的AutoLayout(纯IB)

原创Blog,转载请注明出处

blog.csnd.net/hello_hwc

欢迎关注我的iOS SDK专栏

http://blog.csdn.net/column/details/huangwenchen-ios-sdk.html



前言:随着XCode的越来越完善,用IB来创建一些界面是必然的潮流。优点很明显,简单直观,能预览,效率高,好debug,尤其是对一些view中有复杂的控件,比如我今天写的就差不多要有10个textfield,15个label,以及其他的10多个view。如果用代码Autolayout,也能做(用可视化语言会减少一些代码量),估计我头都会炸了,估计以后维护这段超长layout的代码的时候,一定会骂娘了。

对了,还有一点:千万不要认为用纯代码就很高大上,很屌。



下面就一步步讲解如何实现

注意,本文不支持屏幕旋转

  1. 新建一个工程,语言随意,因为我们只用IB,为了方便,我们选择,这个Size class,也就是对应所有的Iphone

    然后把size改为400*100,方便我们进行更多的控件布局

  2. 拖拽Scrollview,让其充满屏幕,添加这4个约束即可

  3. 拖拽一个UIView作为ContainView,让这个View来定义Scrollview的ContentSize大小,这里的6个约束一个不能少

    这里定义Scrollview的Contentsize为屏幕的宽度,以及高度1000

到这里,就可以像普通的Auto Layout一样创建了,而且屏幕以下的部门也会响应各种事件

核心的Constraints如下

然后我在添加一些平时正常使用的View和约束,最后的效果如图

,(gif传不上来,穿两张静态图好了)


Demo下载

CSDN下载

http://download.csdn.net/detail/hello_hwc/8903617


版权声明:本文为博主原创文章,如需转载请注明出处

时间: 2024-08-01 10:44:20

iOS Scrollview中的AutoLayout(纯IB)的相关文章

如何在scrollView中使用Autolayout

scrollView比较特殊,因为它有个contentSize的属性.那么在遇到scrollView时,怎么使用Autolayout呢.其实关键点就一点: ScrollView的contentSize的大小是由其subview的constraints来决定的. 设置subview的宽高和superView(scrollView的宽高相等)

iOS开发——使用基于Autolayout的ScrollView

问题描述: 在使用Autolayout布局方式对ScrollView进行布局时,如果你想做一个可以垂直方向滚动的九宫格类似这样:   拿一行来说,一定不要想当然的尝试去给一行图标进行均匀排列的操作(指定padding,图片尺寸自适应),你的针对ScrollView右边和下边的约束是无效的.约束了结果也是没用的,然后图片的内在尺寸约束会占据主导,把ScrollView水平方向也顶出屏幕,使得ScrollView水平方向变得也可以滚动.   解决方法: 解决办法是不能在ScrollView中使用Au

如何解决IOS 动画中 Autolayout 与View Transforms的冲突

IOS 的动画放大与缩小,并非按照找它的中心点放大和缩小,而是左上角 .我分析了下原来是Autolayout 与View Transforms的冲突造成的. - (void) addSubviewWithZoomInAnimation:(UIView*)view duration:(float)secs option:(UIViewAnimationOptions)option { // first reduce the view to 1/100th of its original dimen

iOS: How To Make AutoLayout Work On A ScrollView

iOS: How To Make AutoLayout Work On A ScrollView Posted on June 11th, 2014 Ok, I’ll admit. I’ve been seriously struggling with AutoLayout ever since it’s been introduced. I understand the concept, and I LOVE the idea of it, but when I actually do it,

iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Content Hugging Priority【转】

原文:http://www.mgenware.com/blog/?p=491 接上文:iOS: 在代码中使用Autolayout (1) – 按比例缩放和优先级. 我们继续来看在代码中使用Autolayout的话题.先说intrinsicContentSize,也就是控件的内置大小.比如UILabel,UIButton等控件,他们都有自己的内置大小.控件的内置大小往往是由控件本身的内容所决定的,比如一个UILabel的文字很长,那么该UILabel的内置大小自然会很长.控件的内置大小可以通过UI

[iOS]在NavigationController中的ScrollView中的子视图都会下移64个像素

情况是这样的: 我有一个UINavigationController,设置为self.window的root视图, 然后有一个UIVIewController是UINavigtionController的根视图. 然后在UIViewController中加入一个ScrollView 在ScrollView中加入一个view. 此时发现. scrollView并没有自动下移64像素,而 ScrollView中的子视图VIew自动下移了64个像素. 上图: // 解决方法 self.automati

iOS解决嵌套在ScrollView中的TableView滑动手势冲突问题

最近在迭代开发公司项目的时候遇到了一个问题,在可以左右切换标签视图的ScrollView中嵌套了两个TableView用于展示视图,感觉一切so easy的情况下,问题出现了,因为左右两个视图既可以实现标签切换,其中TableView还需要侧滑删除功能,那么问题来了,滑动手势懵逼了,这是要搞事情啊!他无法识别到底要做什么处理,因为滑动手势冲突了,下面简单介绍一下解决思路: 大致的项目需求如上图所示: 经过一番资料的查阅,解决办法就是继承自UIScrollView,重写UIScrollView类:

iOS开发中遇到的一些问题及解决方案【转载】

iOS开发中遇到的一些问题及解决方案[转载] 2015-12-29 [385][scrollView不接受点击事件,是因为事件传递失败] // //  MyScrollView.m //  Created by beyond on 15/6/6. //  Copyright (c) 2015年 beyond.com All rights reserved. //  不一定要用继承,可以使用分类 #import "MyScrollView.h" #import "CoView.

ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局 一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有需要显示的子控件(不需要设置子控件的数据和frame,  子控件要添加到contentView中