WKInterfaceGroup 间距有时不完全为 0 (WatchKit)

WKInterfaceGroup spacing not perfectly 0 sometimes (WatchKit)

我在我的 WatchApp Storyboard 中设置了一个组,它的宽度相对于容器 1,高度相对于容器 0.5。 在这个组中,我有 20 个水平对齐的组,其宽度相对于容器 0,05。组的间距设置为 0 但是当我为所有组设置背景颜色时,我最终会这样。

如您所见,有些间距确实为零,但有时会有大约 1 px 的小间距。这是某种错误吗?是否可以完美对齐这些组,使其看起来像是一个纯色背景? 请不要告诉我,我可以设置第一组的背景颜色。显然我知道,我需要它像这样工作! 谢谢!

我认为问题是屏幕的宽度不能被 20 整除。42mm 屏幕的宽度是 312 像素,除以 20 是 15.6 像素。 Apple 可能将其截断为整数值以提高性能,这会导致差距。

我重现了您的问题,然后为了检验我的理论,我创建了 8 个组而不是 20 个组,并将它们的宽度设置为 0.125。这导致没有间隙,这是有道理的,因为 312 可以被 8 整除。

32mm 手表的宽度为 272 像素,对这两个进行因式分解得到:

272 = 2 * 2 * 2 * 2 * 17

312 = 2 * 2 * 2 * 3 * 13

这表明八列是您可以平均划分两种尺寸的最大值。

如果您必须有 20 列,那么我会将每列设置为固定宽度,对于 42 毫米,一些设置为 15 像素,一些设置为 16 像素,对于 32 毫米,设置为 13/14 像素以获得布局想要。