我需要一个视图是垂直居中时,在肖像模式和移动到右边的横向(例如150像素)。
我试着设置了一些约束,但似乎无法确定:
[myImage addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-(577@700)-[contentView]-(257@800)-|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(contentView)]];
NSLayoutConstraint *myConstraint = [NSLayoutConstraint constraintWithItem:contentView
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:myImage
attribute:NSLayoutAttributeCenterX
multiplier:1.0
constant:-1];
myConstraint.priority = 700;
[myImage addConstraint:myConstraint];这在横向模式下有效,但在纵向模式下不起作用。在纵向中,左侧约束(570@700)失败,那么左侧约束可以成功(257@800),并且中心X永远不会实现。
或者我应该抛弃centerX的约束?
发布于 2013-02-06 00:26:35
我看到了两个选择:
contentView的CenterX =myImage的CenterX的约束,并保存对该约束的引用。当设备旋转为横向时,将约束的常量设置为150;当旋转为纵向时,将常量设置为0。contentView的水平位置和大小约束,并为设备的方向添加适当的约束。第一种选择更简单,但如果一台新的苹果设备具有不同的尺寸,那么它就不太适合未来。如果使用第一个选项,则不需要@"H:|-(577)-[contentView]-(257)-|"约束,但需要一个约束来告诉contentView它的水平大小。
如果您想让我详细说明这两个选项,请告诉我。
https://stackoverflow.com/questions/14711447
复制相似问题