Xcode 在情节提要中使用浮点值

Xcode 在情节提要中使用浮点值,xcode,cocoa-touch,interface-builder,uistoryboard,Xcode,Cocoa Touch,Interface Builder,Uistoryboard,我想给故事板中的UIButtons框架指定一个浮点值。 但我只能使用int值。例如,是否不鼓励使用.5?因为我有一些按钮,我想按照photoshop的原始设计来放置它们 例如,我有一个按钮需要放在X:151,我如何才能做到这一点?不要使用浮点值。正如您正确地观察到的,Interface Builder阻止了这种情况;但即使在代码中也不应该这样做。恰恰相反:在代码中指定帧(或相关组件)时,应首先将其设置为整数值。(事实上,甚至还有CGRectIntegral等函数可以帮助您。) 原因是,否则您可

我想给故事板中的UIButtons框架指定一个浮点值。

但我只能使用int值。例如,是否不鼓励使用.5?因为我有一些按钮,我想按照photoshop的原始设计来放置它们


例如,我有一个按钮需要放在X:151,我如何才能做到这一点?

不要使用浮点值。正如您正确地观察到的,Interface Builder阻止了这种情况;但即使在代码中也不应该这样做。恰恰相反:在代码中指定帧(或相关组件)时,应首先将其设置为整数值。(事实上,甚至还有
CGRectIntegral
等函数可以帮助您。)

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

以编程方式进行(例如,单击),我不知道故事板阻止对帧成分使用非整数值的原因,但我知道三件事:

  • 它以编程方式工作。(只需在情节提要中指定一个虚拟值,并在稍后的代码中覆盖它即可。)
  • Apple在iOS中为其本机对象使用非整数值,例如,表视图中单元格之间的线分隔符为0.5点高
  • 点不是像素(根据写这些行的时间,对接受答案的响应)

  • 首先,我找不到一个可靠的引用,说明故事板上没有使用浮点值。因此,遵循一个工作流/过程来实现故事板上的浮点值。最后一次尝试使用Xcode版本7.3.1(7D1014)

    选择视图。删除UIView之前的任何约束(如果有)。然后添加所有约束,包括浮点值。就我而言,它是领先、落后、底部和高度。只有底部有一个Int值,其他的是float。按“添加X约束”按钮

    最后,我有以下几点:


    问题是,每当我想要编辑该值时,我必须删除所有以前的约束,并根据新的约束再次添加它们。

    151不是浮点值。它是一个int值。所以,没问题@马特别傻了,psd的像素是151,所以它必须是75.5分;)好吧,我就是这么想的。我从来没有这样做过,但我想知道我是否只是缺乏一些知识。你能在这个问题上添加一些苹果的指导方针吗?因为我没有找到任何指导方针,所以我可以接受这是正确的答案。我的答案不会把点和像素混淆。你是对的,你没有混淆它们,但是你提到的非整数点会导致分数像素,这使得分数点和结果像素之间存在无基础的联系。(如果您不同意,那么您必须指出Apple文档中禁止使用小数点的引用,并与他们自己使用的0.5点相矛盾,正如我提到的表格单元格分隔符高度。)“与他们自己使用的0.5点相矛盾,正如我提到的表格单元格分隔符高度”但这是因为在双分辨率屏幕上,0.5点是1像素——一个整数!所以你声称使用0.5分是安全的还是不安全的?在你(被接受的)回答中,你说“不要使用浮点值”。显然苹果工程师没有考虑你被接受的答案,在他们自己的iOS代码中使用了0.5分。你没有为你的声明提供证据或参考,你也没有反驳iOS在其流行对象中使用0.5点的事实。