AutoLayout 排列问题?
澳门新葡京官网
澳门新葡京官网
当前位置 : 澳门新葡京官网 > 现金金赌博平台

AutoLayout 排列问题?

    _messageBtn = [[UIButton alloc] initWithFrame:CGRectMake0, 0, 160, 40];
    _messageBtn.center = CGPointMake[UIScreen Mainscreen].bounds.size.width/2., 350+3;
    [_messageBtn setTitle:@"同意服务协议和支付协议" forState:UIControlStateNormal];
    [self.view addSubview:_messageBtn];

我还有一个UILabel,我想用AutoLayout让这个label在_messageBtn左边间隔10的距离,要怎么约束呢?

首先,你用 autoLayout 最好就不要用initWithFrame这样的了~ 一般这两种布局不能混用哈。

其次,设置“label 在 button 左边,间隔 10 像素”这个约束是这样写:

[NSLayoutConstraint constraintWithItem:label attribute:NSLayoutAttributeRight
                      relatedBy:NSLayoutRelationEqual toItem:button
                      attribute:NSLayoutAttributeLeft multiplier:1.0 constant:-10.0];

然后用两者父view的addContraint方法把上面那个 constraint 加上就行了。

不过注意这样的话,光指定了 label 的 x 坐标,没指定它的 y 坐标。估计你还要加另一个约束,比如让它跟 button 底部对齐/顶部对齐/中间对齐 之类,它才会显示出来哈。另外它的尺寸,可以根据内容而定,也可以自己指定;如果尺寸是0的话也是显示不出来的。

不用第三方吗?系统的用着不是很爽啊。有个masonry封装的第三方的约束

    [_label mas_makeConstraints:^MASConstraintMaker *make {
        make.left.equalTo_messageBtn.mas_right.offest10;
        //你也可以在这里设置其他的约束,大小了,离右边的距离了。。。
    }];

栏目列表

广告位

澳门新葡京官网