iOS笔记UI--使用storyboard加入约束
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
可视化的搭建UI效率是很高的。所以官方苹果也是很推荐的。那么我们来学一学怎样利用系统自带的故事版(storyboard)来搭建UI。可视化搭建UI除了能够使用storyboard也能够使用xib。事实上使用它们也是很easy的,仅仅须要在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试试
宽高同理,想学习的慢慢自己搞搞。
学到这里,我们就已经学会了加绝对值的约束以及加相对值的约束。接下来的各种组合就看项目的实际需求以及你们的各种发挥各种想象力了。加油!
上传图片竟然不小心没了, 还好在点击打开别的博客里面有备份。
懒得又一次再上传一次,就放个链接好了。
iOS笔记UI--使用storyboard加入约束的更多相关文章
- IOS开发UI基础storyboard相关概念的认识
本文主要介绍一些基本的概念 为后面的学习做个准备 需要了解的知识点有以下几个方面: storyboard文件的认识 IBAction 和IBOutlet UIViewController控制器的认识 ...
- iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期
iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期 一.基本过程 新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉. 在stor ...
- iOS阶段学习第34天笔记(UI小组件 UISegment-UISlider-UIStepper-UIProgressView-UITextView介绍)
iOS学习(UI)知识点整理 一.UI小组件 1.UISegmentedControl 分段选择器 实例代码 - (void)viewDidLoad { [super viewDidLoad]; / ...
- iOS开发UI篇—模仿ipad版QQ空间登录界面
iOS开发UI篇—模仿ipad版QQ空间登录界面 一.实现和步骤 1.一般ipad项目在命名的时候可以加一个HD,标明为高清版 2.设置项目的文件结构,分为home和login两个部分 3.登陆界面的 ...
- 【转】iOS笔记-自定义控件(OC)
原文网址:http://www.jianshu.com/p/f23862eb7b8a 导读: iOS开发中,很多时候系统提供的控件并不能很好的满足我们的需求,因此,自定义控件便成为搭建UI界面中必不可 ...
- 荼菜的iOS笔记--UIView的几个Block动画
前言:我的第一篇文章荼菜的iOS笔记–Core Animation 核心动画算是比较详细讲了核心动画的用法,但是如你上篇看到的,有时我们只是想实现一些很小的动画,这时再用coreAnimation就会 ...
- [Android开发学iOS系列] iOS写UI的几种方式
[Android开发学iOS系列] iOS写UI的几种方式 作为一个现代化的平台, iOS的发展也经历了好几个时代. 本文讲讲iOS写UI的几种主要方式和各自的特点. iOS写UI的方式 在iOS中写 ...
- iOS之UI组件整理
作者:神兽gcc 授权本站转载. 最近把iOS里的UI组件重新整理了一遍,简单来看一下常用的组件以及它们的实现.其实现在这些组件都可以通过Storyboard很快的生成,只是要向这些组件能够变得生动起 ...
- iOS开发UI篇—CAlayer(创建图层)
iOS开发UI篇—CAlayer(创建图层) 一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控 ...
随机推荐
- 【Android】Sensor框架Framework层解读
Sensor整体架构 整体架构说明 黄色部分表示硬件,它要挂在I2C总线上 红色部分表示驱动,驱动注册到Kernel的Input Subsystem上,然后通过Event Device把Sensor数 ...
- 【ARM】2410裸机系列-中断处理
目的 为了更好地掌握S3C2410中断的原理及中断程序的编写. 内容利用S3C2410的外部中断0和外部中断1实现两个按键功能 原理 本次选择的是外部中断EXTINT0和EXTINT11.中断的产生分 ...
- ListView数据更新后,自动滚动到底部(聊天时常用)| Listview Scroll to the end of the list after updating the list
转:http://www.cnblogs.com/bjshsqlt/p/3311830.html If you would like to after you have updated by list ...
- maven deploy distributionManagement
分发构件至远程仓库 mvn install 会将项目生成的构件安装到本地Maven仓库,mvn deploy 用来将项目生成的构件分发到远程Maven仓库.本地Maven仓库的构件只能供当前用户使用, ...
- 通过Python的JIRA库操作JIRA
[本文出自天外归云的博客园] 前提 需要安装jira库: pip install jira 编写脚本 例如,我想统计一下某一jira的备注里是否有如下信息,没有则给予提示: [产品需求文档地址]:ht ...
- JAVA-JSP内置对象之session对象设置并获得session生命周期
相关资料:<21天学通Java Web开发> session对象设置并获得session生命周期1.通过session对象的setMaxInactiveInterval()方法可以设置se ...
- python seaborn 画图
python seaborn 画图 59888745@qq.com 2017.08.02 distplot( ) kdeplot( ) distplot( )为hist加强版, kdeplot( ) ...
- andriod自定义视图
一.通过View实现自定义视图 通过构造函数创建可视界面 public class MyView extends View { // Constructor required for in-code ...
- docker打开api remote接口设置
前言 本文记录docker怎么打开api remote接口设置,docker的版本更新太快了,不同的版本之间,设置可能不同,本文是针对docker13.1 1. 查看配置文件位于哪里 systemc ...
- Java实现图片添加水印
参考别人的感觉挺好玩,还没仔细研究,先上代码. package WaterMark; import javax.imageio.ImageIO; import java.awt.*; import j ...