94

我找不到创建“方形”约束的方法,这意味着在 Interface Builder 中“宽度等于高度”。我想有可能以编程方式添加这样的约束。IB有什么我可以做的吗?也许我只是没看到?这似乎微不足道,但我找不到它。

4

3 回答 3

190

更新 Xcode 5.1b5

宽度等于高度

Ctrl+单击并从视图中拖动并在指针位于视图上方时释放。选择“纵横比”。它将创建一个约束,其中第一项和第二项是视图。


Xcode 5.1 之前

你不能因为宽度/高度编辑器缺少与另一个属性相关的字段或设置比率:

宽度约束

因此,您不能在 Interface Builder 中表达以下代码:

CGFloat ratio = 1.0;
NSLayoutConstraint *constraint = [NSLayoutConstraint
    constraintWithItem:myView
    attribute:NSLayoutAttributeWidth
    relatedBy:NSLayoutRelationEqual
    toItem:myView
    attribute:NSLayoutAttributeHeight
    multiplier:ratio
    constant:0];
constraint.priority = 1000;
[myView.superview addConstraint:constraint];
于 2013-04-18T17:53:23.923 回答
3

请在 UI 元素上添加一个新的约束,纵横比为 1:1,如图所示。

将纵横比设置为 1:1

于 2019-11-16T23:01:37.943 回答
0

首先,控制从按钮对角拖动到自身。将出现一个上下文菜单,您可以在其中添加宽​​度和高度约束。Shift+单击每个;将出现一个复选标记,表示您已添加约束。(如果您在添加之前不小心关闭了对话框,没关系,只需重复拖动步骤并设置另一个):

在此处输入图像描述

首次添加时,这些约束采用按钮的当前宽度和高度,因此您需要调整每个约束以赋予其更合适的值。尽管我们的图像是正方形的,但我们必须一次完成一个,因此请确保在两个约束中使用相同的常量值来按比例调整按钮的大小。双击约束,并在其常量字段中输入一个较小的值:

在此处输入图像描述

于 2020-08-04T07:12:05.963 回答