IBInspectable和浮点数值

18

在属性检查器中设置浮点数值是否可能?我在我的UIView中有这个属性:

@IBInspectable
var scale: CGFloat = 0.90 {
        didSet {
            setNeedsDisplay()
        }
    }

正如你所看到的,缺省值为0.9,我想在Attributes Inspector中更改它,但它看起来像这样:

属性检查器

我只能在那里设置整数值。我错过了什么吗?


1
我认为这是Xcode的限制。请确保向苹果开发者提交错误报告。 - Léo Natan
所以你试图输入一个小数并得到了什么...?FloatCGFloat都可以让我输入小数,并按预期工作... 此外,属性应该用@IBInspectable进行标注,而不是 @IBDesignable... - Alladinian
1
永远不要在检查器中设置浮点值。 - Dharmesh Dhorajiya
@Alladinian 我代码中的 @IBDesignable 是一个笔误,我是从 XCode 中复制粘贴的代码,没有加注释。 如果我尝试在字段中输入小数点,当我尝试在属性检查器中选择其他字段时,该字段仍然保持选定状态。如果我更改选项卡,例如切换到身份检查器,该字段将变为空白,就像我问题中的图片一样。 - Sebastian Osiński
@SebastianOsiński 我明白了... 你用的是哪个Xcode版本?我可以验证在6.3.1+版本中,使用Float可检查属性是完全正常的。 - Alladinian
1个回答

36
您可以进行设置。对我而言,使用逗号而非句点输入数字是有效的。正如@Alladinian所评论的那样:小数分隔符可能取决于语言环境。这里是0,5,而不是0.5: “0,5”
这里是0,8,而不是0.8: “0,8”

4
好的,这很有道理......十进制分隔符是与所在地区有关的。这也可能是原帖的情况。观察得很好。 - Alladinian
2
哈哈,太好了。我来自一个使用逗号作为小数分隔符的国家,我没有考虑到在那里放置逗号。实际上这是非常具有误导性的。 - Sebastian Osiński
1
是的,这很容易让人误解,因为你在代码的其他部分使用了句点。 - Marcus Rossel
Storyboard中使用的小数分隔符是逗号,而代码中使用的是点号...这是一种特性吗?._.' 无论如何,您提供了帮助,所以先生,请接受我的赞扬。 :) - RyuX51

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接