如何在Xcode 6.4中的Interface Builder中设置负对齐中心X或Y值?

时间:2015-09-14 12:16:49

标签: ios xcode autolayout

我正在尝试在Interface Builder自动布局约束中在Xcode 6.4中设置负值,如下所示:

enter image description here

如果我输入“-50.0”,Xcode会注册负值(将其更改为“-50”),但在关闭弹出窗口时默认为0。如果我直接输入“-50”,它会立即变为0。

如何输入负值?我正在使用Xcode版本6.4(6E35b),但我也在版本7.0 beta 6(7A192o)中遇到过这种情况。我将英语作为首选语言,区域为Finland - Finnish并使用芬兰语键盘。

编辑:这是行为的video

6 个答案:

答案 0 :(得分:1)

您可以创建特定NSLayoutConstraint的IBOutlet,并以编程方式设置您想要的任何值。

IBOutlet NSLayoutConstraint *layoutConstant;

以下是更改其值的方法

layoutConstant.Constant = -50

答案 1 :(得分:0)

这很奇怪。你应该能够点击输入那个(然后esc关闭弹出窗口)。你有任何约束警告/错误吗?

评论的声誉不足。

答案 2 :(得分:0)

我有一个有4个约束的按钮 - 宽度,高度,水平对齐和垂直到超级视图。

我将水平更改为负值,并在故事板中显示橙色约束,显示约束中的歧义。 这里enter image description here

然后我将按钮移动到-21(这是我给出的负值),它变成蓝色,显示一切正常。 这里enter image description here

我为按钮的背景着色并运行它,它随着我设置约束而来。 enter image description here

答案 3 :(得分:0)

您的减号符号看起来比平时长。检查是否输入了正确的减号。或许你有一些自动更正。

答案 4 :(得分:0)

这是一个很长的镜头,但是......

尝试使用Xcode的菜单:

Edit > Format > Substitutions > Show Substitutions

...看看" Smart Dashes"被选中。

注意:许多应用中都会出现替换菜单。每当一些过于聪明的自动纠错措施妨碍你时,你应该检查一下。

答案 5 :(得分:0)

解决方法(完全执行所有这些步骤或不起作用):

  1. 双击要在专用编辑视图中编辑的约束
  2. 使用小数键入您的负值,例如-25.0不要按Enter键
  3. 在IB画布中单击外部以使新值生效。
  4. 在XCode 7&amp ;;中验证8.我无法使用“编辑”弹出窗口进行此操作。每次尝试你只有一次机会输入价值,或者IB将用零或其正面等值替换它 - 你可能必须尝试两次,同时不要按回车,因为这是制作IB的另一种方式破坏你的意见。

    由于上述行为,这显然是一个错误,当您执行“更新约束常量”时,IB也会自己产生负值。