iOS笔记UI--使用storyboard添加约束

申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨

可视化的搭建UI效率是非常高的,所以官方苹果也是非常推荐的。那么我们来学一学如何利用系统自带的故事版(storyboard)来搭建UI。可视化搭建UI除了可以使用storyboard也可以使用xib。其实使用它们也是非常容易的,只需要在xcode的右下角写处控件的名字,然后拖拽到故事板上即可,如图

拖拽完之后。就是根据需求去设置控件的大小,以及屏幕的适配(iphone4~iPhone 6s plus)等。在这个设置大小的点,我们就要用到约束。以前用代码也是要用到约束去约束每个控件的大小的。所以约束的概念也不展开讲了。(假如你实在不想用约束的话,其实也是可以实现屏幕的适配的。可以用比例的大小去设置,类似于h5)。现在主要说说如何实现,怎么去操作,给控件加上约束。

我现在先拖拉一个UIView来设置一个距离顶部的约束

这样设置完之后就会出现如下的现象

出现红色说明还有欠缺的约束没有加完。顶部那个线就是我们添加的约束。假如我们先写距离顶部的距离是133。那么我们不论切换到哪个屏幕的大小都是133。

我们再往左边添加一个约束,然后设置它的宽高为100。即如图

约束完之后就可以了

这样约束完之后的那个UIView的大小和位置就是固定的了。以后不论修改成哪个屏幕都是一样的。

不过这样有个缺点,它的距离的位置和大小是绝对的而不是相对的。假如你用iphone4展示出这个界面,就觉得偏的话,那么用iphone6s就会显得差不多或者刚刚好,用例子看看,如图

所以,我们应该得用相对位置和相对大小。假如我们想让它水平居中,那么我们把原来的左边约束给删除,添加一个水平居中的约束

这样就水平居中了。再运行看看

这样就水平居中了。既然是相对约束,当然不止仅仅只能水平居中了,比如说我要偏左一点怎么办?偏右一点怎么办?改水平居中系数,如图

点击那个edit出现后修改那个Multiplier,那个就是系数值,比1小就是往左,比1大就是往右,我们来设置一下0.6和1.8的效果看看

这样看是不是很明显?那么这样就可以根据实际需求设定我们需要的位置了。垂直居中也是这样设置。就是选中水平约束下面那个(vertically)

写完相对位置之后,我们应该要来想想怎么设置相对大小了。为了方便演示,先把原来那个删除了,重新拉一个UIView。把它的大小和屏幕设置成等高等宽。

把equal widths 和equal heights打上勾就可以,add上去就可以了。设置完之后就是这样

就是因为我们还没有加位置约束,我们给它左边和上边都是0.0,这样就可以了

OK,到这里就可以实现相对大小了。

同理的,我们想修改它不是满屏大小,也可以使用系数

修改成0.4试试

宽高同理,想学习的慢慢自己搞搞。

学到这里,我们就已经学会了加绝对值的约束以及加相对值的约束。接下来的各种组合就看项目的实际需求以及你们的各种发挥各种想象力了。加油!

时间: 2024-08-04 22:08:07

iOS笔记UI--使用storyboard添加约束的相关文章

iOS 用xib给scrollView添加约束

之前习惯了使用纯代码布局,最近使用xib给scrollView添加约束时遇到了一些问题,查阅资料后总结一下. 1.在xib中添加一个滚动视图UIScrollView,上下左右约束都为0 2.在滚动视图上添加一个UIView,如果是水平方向滚动,设置UIView垂直居中.如果是竖直方向滚动,设置UIView水平居中.如果水平方向和竖直方向都需要滚动则不需要设置.设置UIView上下左右约束都为0. 3.如果是水平方向滚动,设置UIView的宽度.如果是竖直方向滚动,设置UIView的高度.如果水平

iOS开发-UI (七)StoryBoard

知识点 1.UIStoryBoard介绍 2. UIStoryBoard的界面跳转 3. UIStoryBoard界面之间的传值 ========================= UIStoryBoard介绍 UIStoryBoard是你可以用来定义用户界面的一种新的方式,像xib.与xib不同的是它可以同时管理多个ViewController,而且可以在UIStoryBoard中配置ViewController 之间的跳转关系. 如果主窗口只有一个view controller是作为UISt

iOS开发-UI (十)StoryBoard

今天这篇是UI的最后一篇了,后面再整理网络篇 知识点 1.UIStoryBoard介绍 2. UIStoryBoard的界面跳转 3. UIStoryBoard界面之间的传值 ========================= UIStoryBoard介绍 UIStoryBoard是你可以用来定义用户界面的一种新的方式,像xib.与xib不同的是它可以同时管理多个ViewController,而且可以在UIStoryBoard中配置ViewController 之间的跳转关系. 如果主窗口只有一

纯代码添加约束,autolayout 适配

IOS AutoLayout 代码约束—VFL 2014-12-22 22:19:43http://my.oschina.net/carson6931-Carson6931-点击数:2148 IOS 提供了两种添加约束的方法 第一种: +(instancetype)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2

ios快速添加约束(storyboard中)

这篇文章是告诉新手如何快速的在storyboard中添加约束: 我们在storyboard中有一些按钮,可以添加约束. 但是最直观.最方便.最快捷的添加约束的方法,在我看来就是使用ctl键: 选中控件,按下ctl,将其拖动到约束的另外一个对象-可能是自己,可能是父视图,可能是兄弟视图. .弹出的框里我们就可以选择我们需要添加的约束,1次添加1个,不多也不少. 快来试试吧,拥抱autolayout!

文顶顶 iOS开发UI篇—在UIImageView中添加按钮以及Tag的参数说明

ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwithtag: 提示点:在xib中如果想要通过tag参数获取对应的控件(属性),不要把tag的参数设置为0,因为xib中所有的对象默认tag都为0,设置为0取不到对象. 二.ImageView中添加按钮(1)ImageView和Button的比较 Button按钮的内部可以放置多张图片(4),而Ima

IOS开发UI基础—在UIImageView中添加按钮以及Tag的参数说明

ios开发UI基础-在ImageView中添加按钮以及Tag的参数说明 一.tag参数 一个视图通常都只有一个父视图,多个子视图,在开发中可以通过使用子视图的tag来取出对应的子视图.方法为Viewwithtag: 提示点:在xib中如果想要通过tag参数获取对应的控件(属性),不要把tag的参数设置为0,因为xib中所有的对象默认tag都为0,设置为0取不到对象. 二.ImageView中添加按钮(1)ImageView和Button的比较 Button按钮的内部可以放置多张图片(4),而Im

Storyboard学习手记(二)——添加约束

控件布局 xcode的自动布局让iOS开发更加便利,但是也存在许多的弊端,跟纯代码比起来省去了许多计算坐标以及繁复的语句,但是有些人认为自动布局不如代码灵活,总是能听到有人说这个用代码做可以实现,用自动布局实现不了,或许是可以实现的,只是对这个了解不深,当然我也只能在这里写些基础的东西. 现在xcode默认使用自动布局,因此直接把控件拖进controller,再将其约束起来就可以了,这里要说的就是如何按照不同的需求去约束. 这里不能像web那样一个个div块整整齐齐的分出来,而是要用尽量少的控件

Storyboard中使用UIscrollView添加约束的开发总结

第一次在项目中用storyboard做界面,一般的界面直接添加约束非常爽快 然后有个界面有scrollview,添加了约束还总是出错 刚开始使用了 wCompact,hRegular,滑动出现问题,有些界面滑动不了或者可以左右滑动 已经在viewDidLoad里面添加了scrollView的contentsize 约束什么的都没有问题,百思不得其解 后来上网查了一下资料 还是scrollView的contentsize的问题 scrollView的contentsize只能在viewDidApp