NSLayoutConstraint错误与无理数乘数

时间:2016-02-29 14:03:37

标签: ios objective-c uitableview autolayout nslayoutconstraint

我正在使用Masonry来实现内置UITableViewCell的{​​{1}}。我想让它们的边缘完全一致(显然它们应该具有相同的尺寸)。

而且,我正在使用iOS9.2 / iPhone 6中的Auto-height Cell:

UIImageView

这就是我的所作所为:

self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 100;

但是我收到了一个错误(我删除了你容易阅读的内存地址):

[_imageView mas_makeConstraints:^(MASConstraintMaker *make) {
    // The aspect ratio of the imageView is certain
    make.width.equalTo(_imageView.mas_height).multipliedBy(3.6f);
    make.edges.equalTo(self.contentView);
}];

但是,

(
"... UIImageView.width == UIImageView.height * 3.6>",
"... UIImageView.left == UITableViewCellContentView.left>",
"... UIImageView.right == UITableViewCellContentView.right>",
"... UIImageView.top == UITableViewCellContentView.top>",
"... UIImageView.bottom == UITableViewCellContentView.bottom>",
"... UITableViewCellContentView.height == 104>",
"... UITableViewCellContentView.width == 375>"
)

Will attempt to recover by breaking constraint
<... UIImageView.width == UIImageView.height * 3.6>

当我将乘数更改为某个375 / 104 = 3.605769230769231... ≈ 3.6 3.75时,它都是正确的。

那么我该怎么做才能摆脱这个错误以及为什么会这样呢?

0 个答案:

没有答案