Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇
要求 宽高200的view,通过代码,使得view在距离父控件的右下角20边距处
/* 约束的设置,控件内部约束由自己添加,比如宽高,如果是与其他的
控件约束那么有父控件添加
*创建约束 NSLayoutConstraint 参数 说明:
* item 自己
* attribute
* relatedBy 大于等于 小于等于 等于
* toItem 另外一个控件
* attribute 另一个控件的熟悉
* multiplier 乘以多少
* constant : 加上多少
* NSLayoutConstraint : 某个控件的属性值 等于 另外一个控件的属性值
乘以多少 加上多少
* 添加约束 addConstraint
*/
let blueView =UIView();
blueView.backgroundColor =UIColor.blueColor()
self.view.addSubview(blueView)//系统默认会给autoresizing
约束
// 关闭autoresizing 不关闭否则程序崩溃
blueView.translatesAutoresizingMaskIntoConstraints =false
//宽度约束
let width:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Width, relatedBy:NSLayoutRelation.Equal, toItem:nil,
attribute: NSLayoutAttribute.NotAnAttribute, multiplier:0.0, constant:200)
blueView.addConstraint(width)//自己添加约束
//高度约束
let height:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Height, relatedBy:NSLayoutRelation.Equal, toItem:nil,
attribute: NSLayoutAttribute.NotAnAttribute, multiplier:0.0, constant:200)
blueView.addConstraint(height)//自己添加约束
//右边约束
let right:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Right, relatedBy:NSLayoutRelation.Equal, toItem:self.view,
attribute:NSLayoutAttribute.Right, multiplier:1.0, constant: -20)
blueView.superview!.addConstraint(right)//父控件添加约束
//下边约束
let bottom:NSLayoutConstraint =NSLayoutConstraint(item: blueView,
attribute: NSLayoutAttribute.Bottom, relatedBy:NSLayoutRelation.Equal, toItem:self.view,
attribute:NSLayoutAttribute.Bottom, multiplier:1.0, constant: -20)
blueView.superview!.addConstraint(bottom)//父控件添加约束
效果图:
Swift开发:NSLayoutConstraint纯代码实现自动布局-初级篇的更多相关文章
- 【好程序员笔记分享】——iOS开发之纯代码键盘退出
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之纯代码键盘退出(非常简单) iOS开发之纯代码键盘退出 前面说到了好几次关于键盘退出的,但 ...
- Swift -Login(MVC 纯代码)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Menlo; color: #000000 } span.s1 { } span.s2 { c ...
- iOS开发学习--纯代码 UIScrollView 无限循环的实现——代码类封装
一个简单的利用UIScrollView 实现的无线滚动banner,下面的代码实现,因为封装问题,对两个及一下的view 支持出了一点问题(view是传参进来的,不可以生成两份),但是原理是正确的,智 ...
- IOS开发之纯代码界面--基本控件使用篇 ┊
http://www.cocoachina.com/bbs/read.php?tid=131516
- iOS UITableViewCell UITableVIewController 纯代码开发
iOS UITableViewCell UITableVIewController 纯代码开发 <原创> .纯代码 自定义UITableViewCell 直接上代码 ////// #imp ...
- 《Swift开发指南》
<Swift开发指南> 基本信息 作者: 关东升 赵志荣 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115366245 上架时间:2014-8-5 出版日期:20 ...
- 【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)
关于AutoLayout,最早从iOS6开始引入使用. 主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换. 网上大量的资料都在介绍xib和storyboard,如何使用AutoLa ...
- iOS开发——OC篇&纯代码退出键盘
关于iOS开发中键盘的退出,其实方法有很多中,而且笔者也也学会了不少,包括各种非纯代码界面的退出. 但是最近开始着手项目的时候却闷了,因为太多了,笔者确实知道有很多中方法能实现,而且令我影响最深的就是 ...
- swift 之 纯代码创建 cell
初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...
随机推荐
- leetcode第三题Longest Substring Without Repeating Characters java
Longest Substring Without Repeating Characters Given a string, find the length of the longest substr ...
- bzoj 1761: [Baltic2009]beetle 区间dp
1761: [Baltic2009]beetle Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 255 Solved: 92[Submit][Statu ...
- 矩阵分解(rank decomposition)文章代码汇总
矩阵分解(rank decomposition)文章代码汇总 矩阵分解(rank decomposition) 本文收集了现有矩阵分解的几乎所有算法和应用,原文链接:https://sites.goo ...
- 反射实体自动生成EasyUi DataGrid模板
用EasyUi Datagrid展示数据的时候总是要一下这样一段代码 <table id="dt" class="easyui-datagrid"> ...
- Stanford CoreNLP--Part of Speech
Stanford CoreNLP Part Of Speech简称POS,主要是对待分析的句子中的单词进行标记的功能,如标记名词.动词等,该组件是CoreNLP工程的一部分,详细内容可参考:CoreN ...
- Dynamips/Dynagen模拟CISCO路由环境
今天将<网络互连技术>--路由,交换与远程访问实训教程的实验书拿出来了看了部门. 搭建了一个基于DYNAGEN的虚拟环境. 归纳一下大约步骤: ~~~~~~~~~~~~~~ 一,在WIND ...
- zabbix 通过key 获取
zabbix:/root# zabbix_get -s 192.168.2.224 -k "perf_counter[\Processor(_Total)\% Processor Time] ...
- Android学习笔记12:图像渲染(Shader)
在Android中,提供了Shader类专门用来渲染图像以及一些几何图形. Shader类包括了5个直接子类,分别为:BitmapShader.ComposeShader.LinearGradient ...
- C++实现RTMP协议发送H.264编码及AAC编码的音视频(转)
C++实现RTMP协议发送H.264编码及AAC编码的音视频(转) RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia ...
- CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容
CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容,DiV透明其实挺简单,主要是为background定义opacity属性,一般这个是最大值是1,数值越接近1,则越不透明 ...