【问题标题】:IBInspectable and floating point valuesIBInspectable 和浮点值
【发布时间】:2015-05-12 10:16:43
【问题描述】:

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

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

如您所见,默认值为 0.9,我想在 Attributes Inspector 中更改它,但看起来像这样:

而且我只能在其中设置整数值。我错过了什么吗?

【问题讨论】:

  • 我认为这是 Xcode 的限制。确保打开 Apple 的错误报告。
  • 所以您确实尝试输入小数并得到什么...? FloatCGFloat 可检查项都允许我输入十进制数字并按预期工作...此外,该属性应注释为 @IBInspectable 而不是 @IBDesignable...
  • 永远不要在 Inspector 中设置浮点值。
  • @Alladinian @IBDesignable 在我的代码中是一个错字,我从 XCode 复制粘贴了没有注释的代码。如果我尝试在字段中输入小数点,当我尝试在 Attributes Inspector 中选择其他字段时,该字段将保持选中状态。如果我更改标签,例如对于身份检查员,该字段变为空白,就像我的问题中的图片一样。
  • @SebastianOsiński 我明白了……哪个 Xcode 版本?我可以验证在 6.3.1+ 中这与 Float 可检查的工作正常

标签: ios xcode swift


【解决方案1】:

您可以设置它。对我有用的是在输入数字而不是句号时使用逗号。正如@Alladinian 评论的那样:

[T]十进制分隔符[可能只是]区域设置(区域)相关。

这里是0,5,而不是0.5

这里是0,8,而不是0.8

【讨论】:

  • 哦,有道理...小数点分隔符取决于区域设置(区域)。 OP 也可能是这种情况。不错的观察
  • 哈,太好了。我来自一个使用逗号作为小数分隔符的国家/地区,我没有考虑将逗号放在那里。其实这很误导人。
  • 是的,它具有误导性,因为您在其余代码中使用了句点。
  • Storyboard 中使用的小数点分隔符是逗号,而代码使用点...这是作为一项功能吗? ._.'尽管如此,您还是帮了大忙,我的赞成票也是如此,先生。 :)
猜你喜欢
  • 1970-01-01
  • 2016-02-07
  • 2020-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-03
相关资源
最近更新 更多