代码创建约束01
2015-11-24 11:46
369 查看
#import "ViewController.h"
@interface
ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
//创建两个view
UIView *view1 = [[UIViewalloc]init];
UIView *view2 = [[UIViewalloc]init];
view1.translatesAutoresizingMaskIntoConstraints =NO;
view2.translatesAutoresizingMaskIntoConstraints =NO;
//创建view1约束
NSLayoutConstraint *view1left = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeLeadingrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeLeadingmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view1top = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeToprelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeTopmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view1width = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeWidthrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:100.0f];
NSLayoutConstraint *view1height = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeHeightrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:55.0f];
[self.viewaddSubview:view1];
//激活约束
view1left.active =
YES;
view1top.active =
YES;
view1width.active =
YES;
view1height.active =
YES;
//创建view2约束
NSLayoutConstraint *view2trail = [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeTrailingrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeTrailingmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view2top = [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeTrailingrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeTrailingmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view2width = [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeWidthrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:100.0f];
NSLayoutConstraint *view2height= [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeHeightrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:55.0f];
[self.viewaddSubview:view2];
//激活
view2trail.active =
YES;
view2top.active =
YES;
view2width.active =YES;
view2height.active =
YES;
//设置背景颜色
[view1 setBackgroundColor:[UIColorgreenColor]];
[view2 setBackgroundColor:[UIColorlightGrayColor]];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
//如果想设置约束和父类的边保持距离,比如说右边和父类右边保持64的距离
一定要写成负的 因为正的话就会超出父类右边64
NSLayoutConstraint *doneRight = [NSLayoutConstraint
constraintWithItem:doneBtn attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self
attribute:NSLayoutAttributeTrailing
multiplier:1.0f
constant:-64.0f];
@interface
ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[superviewDidLoad];
//创建两个view
UIView *view1 = [[UIViewalloc]init];
UIView *view2 = [[UIViewalloc]init];
view1.translatesAutoresizingMaskIntoConstraints =NO;
view2.translatesAutoresizingMaskIntoConstraints =NO;
//创建view1约束
NSLayoutConstraint *view1left = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeLeadingrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeLeadingmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view1top = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeToprelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeTopmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view1width = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeWidthrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:100.0f];
NSLayoutConstraint *view1height = [NSLayoutConstraintconstraintWithItem:view1
attribute:NSLayoutAttributeHeightrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:55.0f];
[self.viewaddSubview:view1];
//激活约束
view1left.active =
YES;
view1top.active =
YES;
view1width.active =
YES;
view1height.active =
YES;
//创建view2约束
NSLayoutConstraint *view2trail = [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeTrailingrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeTrailingmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view2top = [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeTrailingrelatedBy:NSLayoutRelationEqualtoItem:self.viewattribute:NSLayoutAttributeTrailingmultiplier:1.0fconstant:0.0f];
NSLayoutConstraint *view2width = [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeWidthrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:100.0f];
NSLayoutConstraint *view2height= [NSLayoutConstraintconstraintWithItem:view2
attribute:NSLayoutAttributeHeightrelatedBy:NSLayoutRelationEqualtoItem:nilattribute:NSLayoutAttributeNotAnAttributemultiplier:1.0fconstant:55.0f];
[self.viewaddSubview:view2];
//激活
view2trail.active =
YES;
view2top.active =
YES;
view2width.active =YES;
view2height.active =
YES;
//设置背景颜色
[view1 setBackgroundColor:[UIColorgreenColor]];
[view2 setBackgroundColor:[UIColorlightGrayColor]];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
//如果想设置约束和父类的边保持距离,比如说右边和父类右边保持64的距离
一定要写成负的 因为正的话就会超出父类右边64
NSLayoutConstraint *doneRight = [NSLayoutConstraint
constraintWithItem:doneBtn attribute:NSLayoutAttributeTrailing
relatedBy:NSLayoutRelationEqual
toItem:self
attribute:NSLayoutAttributeTrailing
multiplier:1.0f
constant:-64.0f];
相关文章推荐
- 顺序队的基本操作(C 完整源代码)
- struts2 文件的上传与下载
- 迷宫最少步数的求解(利用队列)
- Spring注解@Repository、@Service、@Controller
- C# XML,XmlDocument简单操作实例
- Maven+Spring+Dubbo学习笔记
- 【leetcode】【48】Rotate Image
- 延长代码执行时间
- java的io读取
- java socket InputStream 笔记
- c#读取.resx/.resource资源文件
- eclipse 使用问题,按F3或者ctrl+click事件时,“current text selection cannot be opened in an editor”
- Java常量的应用
- 《C++必知必会》学习笔记
- Python刷题笔记(5)- 秒转化为时间
- 电商安全无小事,如何有效地抵御 CSRF 攻击?
- java可视化编程-eclipse安装windowbuilder插件
- C++笔记(8) template partitial specialization模板偏特化
- 再看 AspriseOCR - OCR应用开发
- PHP 获取二维数组中某个key的集合