以编程方式添加约束的问题

时间:2016-03-05 19:52:12

标签: ios autolayout

我使用Masonry库以编程方式添加约束。基本上我简单地从我的按钮机器人添加约束 - >视图底部(等于20点)和我的按钮顶部 - >标签底部(等于20)。但是,即使约束值相等,您也可以很容易地看到从按钮到机器人的空间小于按钮到顶部的空间(意味着按钮 - >顶部文本)。以下是设置约束的代码:

[self.readNextButton mas_makeConstraints:^(MASConstraintMaker *make) {

        make.right.equalTo(self.containerForNewsText.mas_right).with.offset(-20);
        make.bottom.equalTo(self.containerForNewsText.mas_bottom).with.offset(-20);
        make.top.equalTo(self.truncatedNewsText.mas_bottom).with.offset(20);

    }];

enter image description here

为什么会这样?也许有一些功能涉及按钮框架?我不确定是否需要,但有按钮创建代码:

    self.readNextButton = [UIButton new];
    self.readNextButton.titleLabel.adjustsFontSizeToFitWidth  = YES;
    self.readNextButton.backgroundColor = [UIColor whiteColor];
    [self.readNextButton setTitleColor:[UIColor colorWithHexString:@"#60aabf"] forState:UIControlStateNormal];
    self.readNextButton.titleLabel.lineBreakMode = NSLineBreakByClipping;
    self.readNextButton.titleLabel.font = [UIFont fontWithName:@"Roman" size:14];
    [self.readNextButton setTitle:@"Читать дальше" forState:UIControlStateNormal];
    [self.view addSubview:self.readNextButton];

1 个答案:

答案 0 :(得分:1)

self.readNextButton.backgroundColor = [UIColor blueColor];
self.yourTopContent.backgroundColor = [UIColor redColor];

我认为您的约束有效,只需添加/减去值即可。设置2视图以便于编辑。