我环顾四周,但没有找到这个问题的答案,所以如果它是重复的,请指出原文,我会删除。我才刚刚开始使用自动布局,所以如果我的问题源于根本性的误解,请告诉我!
正如主题标题巧妙地指出的那样,我想在 iPad 屏幕下方 2/3 的位置设置一些东西,而不管方向如何。如果我用点来设置它,比如在横向 View 中底部上方 250 点,那么当它在纵向 View 中最终在底部上方 250 点时它看起来很奇怪而且太低了。但是如果我在纵向 View 中将它设置在底部以上 400 点,那么在横向 View 中它看起来很奇怪并且太高了。有没有办法将约束设置为“屏幕下方 2/3”或类似的其他比例距离?
最佳答案
是的,您可以通过在 constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant: 方法中使用 multiplier 参数来做到这一点。我认为这样的事情应该有效。您将需要一个 IBOutlet(在我的示例中为 conBottom),您将其连接到从标签底部到在 IB 中创建的 View 底部的约束。您还需要一个 IBOutlet 到标签(在我的示例中为 myLabel)。
[self.view removeConstraint:conBottom];
conBottom = [NSLayoutConstraint constraintWithItem:myLabel attribute:NSLayoutAttributeBottom relatedBy:0 toItem:self.view attribute:NSLayoutAttributeBottom multiplier:0.66 constant:0];
[self.view addConstraint:conBottom];
请注意,您只能对 View 的底部或右侧进行约束,因为左侧和顶部的属性值均为 0。
关于ios - 自动布局可以处理比例(例如,我可以设置一些东西显示在屏幕下方的 2/3 处)而不是点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14363401/