【发布时间】:2015-09-23 10:11:54
【问题描述】:
我知道自动布局可用于在方向更改时使大小和位置保持一致。方向改变时是否可以完全改变布局?意味着当设备旋转到横向模式时,所有控制器都可以改变它们的位置并相应地设置设备模式。这可以为 iPhone 4,5,6 ,6 plus 的所有设备完成。不使用情节提要。任何人都可以帮助我解决这个问题。提前致谢。
【问题讨论】:
我知道自动布局可用于在方向更改时使大小和位置保持一致。方向改变时是否可以完全改变布局?意味着当设备旋转到横向模式时,所有控制器都可以改变它们的位置并相应地设置设备模式。这可以为 iPhone 4,5,6 ,6 plus 的所有设备完成。不使用情节提要。任何人都可以帮助我解决这个问题。提前致谢。
【问题讨论】:
**** 用于查看到超级视图 [self addEdgeConstraint:NSLayoutAttributeLeft superview:self.view subview:subView];
[self addEdgeConstraint:NSLayoutAttributeRight superview:self.view subview:subView];
[self addEdgeConstraint:NSLayoutAttributeTop superview:self.view subview:subView];
[self addEdgeConstraint:NSLayoutAttributeBottom superview:self.view subview:subView];
-(void)addEdgeConstraint:(NSLayoutAttribute)edge superview:(NSView *)superview subview:(NSView *)subview
{ [superview addConstraint:[NSLayoutConstraint constraintWithItem:subview attribute:edge relatedBy:NSLayoutRelationEqual toItem:superview attribute:edge multiplier:1 constant:0]];
}
视图之间的垂直间距
NSMutableArray* newVerticalConstraints = [NSMutableArray 数组];
[newVerticalConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-10-[view1]” options:0 metrics:nil views:NSDictionaryOfVariableBindings(viewMainBanner)]];
[newVerticalConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"V:[view1]-%d-[view2]”,10] options:0 metrics:nil views:NSDictionaryOfVariableBindings(view1, view2)]];
[newVerticalConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"V:[view2]-%d-[view3]”,10] options:0 metrics:nil views:NSDictionaryOfVariableBindings(view2, view3)]];
[newVerticalConstraints addObjectsFromArray:[NSLayoutConstraint constraintsWithVisualFormat:@"V:[view3]-10-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(view3)]];
[self.view addConstraints:newVerticalConstraints];***
///我们可以使用 'H' 代替 v 来表示水平间距
【讨论】: