xcode将视图限制为superview的大小

时间:2014-07-24 19:10:31

标签: ios xcode constraints

称之为迷信,但我想在Interface Builder(现在是Xcode的一部分)中而不是以编程方式执行此操作。我知道我可以这样做(在ViewController中):

NSDictionary* dict = NSDictionaryOfVariableBindings(subview);
NSArray* constraints = 
    [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[subview]|" // Hack or cool idea??
                                            options:0
                                            metrics:nil
                                              views:dict];
// And similar for V direction.
[self.view addConstraints:constraints];

但是,当我告诉自己时,这就是IB可以为我做的事情"我受到了阻碍。我得到了#34; Align"和" Pin"右下方有弹出窗口,但大多数选项都是灰色/非活动状态,似乎没有任何选项涉及对齐或固定到superview。我的约束世界观是否有问题,或者我只是遗漏了什么?

2 个答案:

答案 0 :(得分:1)

选择视图后,如果您使用故事板右下方的PIN选项,则选项不应显示为灰色。如果您发现它们仍然显示为灰色,请取消选择该视图并再次选择它。偶尔我选择了一个视图,然后点击离开屏幕并返回...视图仍然看起来已被选中,但我无法选择任何选项。

请记住,右下方的PIN选项是“与最近邻居的间距”。如果要固定到超级视图,则应选择编辑器 - > Pin-> __到Superview

答案 1 :(得分:1)

根据上面的评论,选择两个视图,然后在Pin popover中,选中" Equal Heights"和"等宽"。