0

这是一些代码:

UIView *c = [[UIView alloc] initWithFrame:CGRectZero];
[self addSubview:c];
c.translatesAutoresizingMaskIntoConstraints = NO;
c. backgroundColor = [UIColor lightGrayColor];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[c(>=600)]-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(c)]] ;
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[c]|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:NSDictionaryOfVariableBindings(c)]] ;![enter image description here][1]

为什么它最终看起来像这样?我的 superView 有什么问题吗?

混乱约束的图像]

这是我的包含视图的设置方式: 包含视图的 IB 设置

4

2 回答 2

0

好的。现在看起来约束失败是因为包含所有内容的视图是 UIScrollView 的子类。

于 2013-05-24T00:43:46.677 回答
0

的超级视图cself。不是self.superview

所以这些行应该是:

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[c]-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(c)]] ;
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[c]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(c)]] ;

此外,UIView 的指定初始化程序-initWithFrame:只是调用init并不能保证工作。所以第一行应该是

UIView *c = [[UIView alloc] initWithFrame:CGRectZero];
于 2013-05-05T02:36:49.240 回答