你能在IB中输入带小数的约束值吗?

Kha*_*azi 11 interface-builder storyboard autolayout nslayoutconstraint

这是希望它是一个简单的设置.

我不能在IB中输入带小数的约束值.每当我输入一个带小数的值并按下回车键时,系统会将其舍入!

在代码中创建约束时我没有这个问题.只在IB.

有办法吗?

Ami*_*itP 25

是的你可以.

  1. 使用"f"后缀输入值,如下所示: 在此输入图像描述

  2. 单击优先级.注意有效约束值如何变为0.5: 在此输入图像描述

  3. 按ESC键

  • 这在Xcode 8.3中对我不起作用.当我按Enter键时,"0.5f"被替换为",5",当文本字段失去焦点时,"0.5f"被替换为0. (2认同)

ada*_*mup 7

我相信它必须以编程方式完成.从Xcode 6.3开始,约束常量值似乎仅限于故事板编辑器中的整数(与乘数值不同,可以是小数).

对于Google员工,以下是如何操作:

要为故事板中定义的约束指定十进制值,可以设置约束iVar的常量属性.以下是将高度约束设置为0.5f的示例:

在你的标题中:

@property (nonatomic, retain) IBOutlet NSLayoutConstraint *separatorHeightConstraint;
Run Code Online (Sandbox Code Playgroud)

然后将IBOutlet连接到故事板中的约束.

在您的实施中:

-(void)layoutSubviews {
    [super layoutSubviews];
    self.separatorHeightConstraint.constant = 0.5f;
}
Run Code Online (Sandbox Code Playgroud)

就这样!