autoLayout 纯代码
SB中拖好空间,让后分别在,Pin,Align,Resolve Auto Layout Issues三个面板中设置好约束就好了。
用存代码的方式给控件添加约束,完成自动布局:
利用NSLayoutConstraint类创建具体的约束对象。apple提供了两种方法
- (void)addConstraint:(NSLayoutConstraint *)constraint;
- (void)addConstraints:(NSArray *)constraints;
在控制器的-viewDidLoad方法里
- (void)viewDidLoad {
[super viewDidLoad];
UIView *subView = [UIView allc] initWithFrame:CGRectMake(100,200,100,100)];
subView.backgroundColor = [UIColor lightGray];
//设置 autoresizing 无效 不认会把我们的约束无效化
subView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:subView];
//距离父视图左边的距离 约束
NSLayoutConstraint *leftConstraint = [NSLayoutConstraint constraintWithItem:subView attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelatinEqual toItem:nil attribute:NSLayoutAttributeLeft multiplier:1.0 constant:100];
//距离父视图顶部的距离 约束
NSLayoutConstraint *topConstraint = [NSLayoutConstraint constraintWithItem:subView attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelatinEqual toItem:nil attribute:NSLayoutAttributeTop multiplier:1.0 constant:100];
//subView 的宽带约束
NSLayoutConstraint *widthConstraint = [NSLayoutConstraint constraintWithItem:subView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelatinEqual toItem:nil attribute:NSLayoutAttributeNotAnAtribute multiplier:0.0 constant:100];
//subView 的高带约束
NSLayoutConstraint *heightConstraint = [NSLayoutConstraint constraintWithItem:subView attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelatinEqual toItem:nil attribute:NSLayoutAttributeNotAnAtribute multiplier:0.0 constant:100];
[self.view addConstraint:leftConstraint];
[self.view addConstraint:TopConstraint];
[self.view addConstraint:heightConstraint];
[self.view addConstraint:widthConstraint];
}
autoLayout 纯代码的更多相关文章
- 【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)
关于AutoLayout,最早从iOS6开始引入使用. 主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换. 网上大量的资料都在介绍xib和storyboard,如何使用AutoLa ...
- 史上比较用心的纯代码实现 AutoLayout
入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...
- iOS-原生纯代码约束总结(二)之 AutoLayout
一,概述 AutoLayout相比AutoResizing更加实用,是可以完全替代AutoResizing的一种自动布局方式.而在使用AutoLayout前,我们必须理解一个属性,那就是transla ...
- 纯代码Autolayout的三种方法
Autolayout讲解较多的就是xib和storyboard用法,本文主要记录纯代码的Autolayout使用方法: 方法1.苹果原生的方法,这种方法虽然简单但是太过繁杂,可用性很差 //宽度=su ...
- Masonry -- 使用纯代码进行iOS应用的autolayout自适应布局
简介 简化iOS应用使用纯代码机型自适应布局的工作,使用一种简洁高效的语法替代NSLayoutConstraints. 项目主页: Masonry 最新示例: 点击下载 项目简议: 如果再看到关于纯代 ...
- Masonry — 使用纯代码进行iOS应用的autolayout自适应布局
本文转载至 http://www.ios122.com/2015/09/masonry/ 简化iOS应用使用纯代码机型自适应布局的工作,使用一种简洁高效的语法替代NSLayoutConstrain ...
- autoLyout纯代码适配
前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时 ...
- 使用Java纯代码实现MySQL的连接
建立数据库 1. 点击连接-->MySQL: 输入连接名 . 主机名/IP地址 .端口 .用户名.密码(没有密码就省略),然后点击确定,建立的表格是灰色表示关闭状态,双击开启 2. 重新创建 ...
- swift 之 纯代码创建 cell
初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...
随机推荐
- 毫秒数转换为指定格式日期的js代码
var format = function(time, format){ var t = new Date(time); var tf = function(i){return (i < 10 ...
- Mybatis各种模糊查询
转载自:http://blog.sina.com.cn/s/blog_667bef380101f2da.html 工作中用到,写三种用法吧,第四种为大小写匹配查询 1. sql中字符串拼接 SELEC ...
- [MAC] Mac下的SVN命令行
转载自: http://www.cnblogs.com/snandy/p/4072857.html Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.1 ...
- 【2016-08-06】QTableWidget的一些用法总结
1. QTableWidget的列宽如何自适应显示区域大小? QTableWidget的列头继承自QHeaderView,因此如果不使用固定列宽而需要Table中多列的列宽自适应显示区域大小的话, 可 ...
- sizeof(class)
//#define _REENTRANT //#define _POSIX_C_SOURCE #include <iostream> #include <string> #in ...
- nginx 匹配.zip .apk 结尾的文件 直接下载
server { listen 80; server_name ok.xidd.com; index index.html index.htm index.php; root /alidata/www ...
- nginx: [warn] conflicting server name "locahost" on 0.0.0.0:80, ignored
里面域名重复: 在vhosts下多个虚拟机配置文件,都是基于域名配置的,其中两个配置文件,都起了localhost ,所以会报错!!!! 多个域名可以指向同一个目录,但同一个域名不可一指向多个目录!! ...
- [译] UML中的关系之Dependency
在UML中,依赖关系表示Client依赖于另一个元素,叫做Supplier. 通常来说,依赖关系不需要特殊的名字. 依赖的类别 抽象 abstraction, derive, refine, trac ...
- [杂]DeadLock, Isolation Level, EntityFramework
由于没有注意到EF事务的默认隔离级别是Serializable,(据说EF6.0以后默认隔离级别改成了Read_Commit_Snapshot)--这里有误,应该是加了TransactionScope ...
- laravel框架中widget模糊查询
.配置模糊查询的路由 Route::); .在widgets.php下注册widget <?php Widget::register() { $model = Str::stu ...