IOS开发使用 constraints

IOS 开发使用 constraints 确实很方便能解决 布局上的问题
初次使用会有很多疑问但是稍微指点下 发现其实还是很简单。
下面 就是具体代码 如何构建(抛砖引玉)
先预定一个目标:
建立一个列表 上下排列,每个列表只使用一个button 也就是若干个button 竖向排列成一排
这里只写核心代码

UIStackView *stackview=[UIStackView alloc] init;

UIbutton *btn1=[UIbutton alloc];//按钮构建代码不复述
UIbutton *btn2=[UIbutton alloc];
UIbutton *btn3=[UIbutton alloc];

[self.view addSuberView stackview];//stackview view添加到视图

[stackview addArrangedSubview btn1];//把按钮添加到 stackview
[stackview addArrangedSubview btn2];
[stackview addArrangedSubview btn3];

stackview.axis=UILayoutConstraintAxisVertical;//竖向排列(当前内容是button)
stackview.Distribution=UIStackViewDistributionFill;//自动填充整个宽度
//可以设置元素之间的间隔 spaceing 看你需要

NSLayoutConstraint *left = [NSLayoutConstraint constraintWithItem:stackview attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqualtoItem:self.view attribute:NSLayoutAttributeLeading multiplier:1.0f constant:0];//左对齐

NSLayoutConstraint *right = [NSLayoutConstraint constraintWithItem:stackview attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqualtoItem:self.view attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:0];//右对齐

NSLayoutConstraint  *top= [NSLayoutConstraint constraintWithItem:stackview attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqualtoItem:self.view attribute:NSLayoutAttributeTop multiplier:1.0f constant:0];//上对齐

[self.view addConstraint left];//约束添加到 stackview 的父级view,注意添加约束前要把对象添加父视图(stackview 需要add 到view 后 调用此代码)
[self.view addConstraint right];
[self.view addConstraint top];

说明下:左对齐 是指 stackview 的左边对齐父view的左边。右元素同理。上对齐也是如此。
设置左右对齐后 stackview  会随着 设备的宽度 自动 拉伸。(这里假设stackview 父宽度随着设备宽度变化)
这里的核心就是如何让你的控件如何跟随设备变化(在当前案例里指的是stackview)
ok 完工!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值