iosiOS中的自动布局——autoLayout

autoLayout自动布局  约束视图和视图之间的关系 来分配 屏幕上的位置

 使用VFL(Visual Format Language  视觉格式语言)通过添加字符串 来约束视图和视图之间的关系

 VFL:  需有   两个方向 的约束

 横向: H:

| 表示他的父视图

 -50- 表示后面视图 与前面视图的距离 (后面视图是textField,前面视图是他的父视图)

 [textField(>=200)] 要约束视图的宽  (>=200)允许最小的宽度是200  如果是竖向  就是允许最小的高度

 

 @"H:|-50-[textField(>=200)]-50-|"

距离坐边原点距离50   右边边界距离50    允许视图的最小宽度是200


 竖向: V:

 使用autoLayout 必须把translatesAutoresizingMaskIntoConstraints禁用才可以使用

 相对布局是找一个参照物 拿参照物当做基础,设置他和参照物的相对距离 来设置自己的位置


   


    UIView *view1 = [self createWithClass:@"UIView"];

    view1.backgroundColor = [UIColor redColor];

    

    UIView *view2 = [self createWithClass:@"UIView"];

    view2.backgroundColor = [UIColor orangeColor];

    

    

  

    NSDictionary *views = NSDictionaryOfVariableBindings(view1,view2);

    

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-50-[view1(>=100)]-50-|" options:NSLayoutFormatAlignAllLeft metrics:nil views:views]];

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-100-[view1(30)]" options:NSLayoutFormatAlignAllLeft metrics:nil views:views]];

    

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-50-[view2(>=100)]-50-|" options:NSLayoutFormatAlignAllLeft metrics:nil views:views]];

    [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[view1]-100-[view2(30)]" options:NSLayoutFormatAlignAllLeft metrics:nil views:views]];


//封装的view

- (UIView *)createWithClass:(NSString *)inputView{

    UIView *view = [[NSClassFromString(inputView) alloc] init];

    view.translatesAutoresizingMaskIntoConstraints = NO;

    [self.view addSubview:view];

    return view;

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值