在故事板中使用浮点值

时间:2014-02-22 18:21:26

标签: xcode cocoa-touch interface-builder uistoryboard

我想为Storyboard中的UIButtons框架指定一个浮点值。 enter image description here

但我只能使用int值。是不鼓励使用.5例如?因为我有一些按钮,我想根据最初的photoshop设计放置它们。

例如我有一个按钮,我需要放在X:151,我该怎么做?

3 个答案:

答案 0 :(得分:2)

以编程方式执行(例如,点击here),我不知道故事板阻止使用非整数值作为框架成分的原因,但我知道三件事:

  1. 它以编程方式工作。 (只需在storyboard中指定一个虚拟值,稍后在代码中覆盖它。)
  2. Apple在iOS中使用非整数值作为其原生对象,例如表格视图中单元格之间的行分隔符为0.5磅高。
  3. 点数不是像素(根据写入这些行的时间对已接受答案的响应。)

答案 1 :(得分:0)

请勿使用浮点值。正如您所正确观察到的那样,Interface Builder会阻止这种情况;但即使在代码中你也不应该这样做。恰恰相反:当您在代码中分配帧(或相关组件)时,应首先将其设置为整数值。 (事实上​​,甚至有CGRectIntegral等功能可以帮助你。)

原因是否则你可以在屏幕上的像素之间结束,并且视图将无法正确显示(因为没有像半像素这样的东西)。坚持使用整数个点,以便使用整数个像素。

答案 2 :(得分:0)

首先,我无法找到在故事板上不使用浮点值的可靠引用。因此,遵循工作流程/过程来实现故事板上的浮动值。最后尝试使用Xcode版本7.3.1(7D1014)。

选择视图。删除UIView的任何先前约束(如果有)。然后添加所有约束,包括浮动值。在我的情况下,它是领先,尾随,底部和高度。只有Bottom有一个Int值,其他的都是浮点数。按“添加X约束”按钮。

enter image description here

最后我有以下内容:

enter image description here

问题在于,无论何时我想编辑该值,我都必须删除所有先前的约束并根据新的约束再次添加它们。