我想为同一个视图创建一个约束“width equals height” (因此,我的视图将是方形的)。 this answer中给出的方法不起作用,因为它不是两个不同视图之间的约束。
有可能吗?
答案 0 :(得分:14)
控制+从视图拖动到自身,然后将宽高比设置为1:1。
答案 1 :(得分:1)
在Interface Builder中设置一个窗口,以包含一个NSBox&将约束设置为所有方面的标准值。然后将{IBOutlet NSBox *box;}
添加到AppDelegate.h
&在IB中将盒子插座连接到盒子上。在AppDelegate.m
中将以下内容添加到applicationDidFinishLaunching
&运行代码。我想这就是你所追求的。如果要以编程方式添加约束,请务必添加足够的高度和宽度。宽度约束以指定您想要的内容。除了其他约束之外,只需添加此类约束。
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
box.translatesAutoresizingMaskIntoConstraints = NO;
[box addConstraint:
[NSLayoutConstraint constraintWithItem:box
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:box
attribute:NSLayoutAttributeHeight
multiplier:1
constant:0]];
}