0

我需要创建一个行为类似于将UISegmentControl子层列表显示为超级层的控件。这些子层的数量可以改变,我必须计算它们的位置。

这里的问题...如果我采用宽度等于 31 的超级层并且我想在其中放置 4 个子层,我应该创建 4 个子层,每个宽度为 31/4 = 7.75。所以第一层的 origin.x = 0,第二层的 origin.x = 7.75,第三层的 15.5 和最后的 23.25。

显然这些位置是无效的,它们会产生模糊的层......我找不到一种方法来舍入这个值,能够填充整个超级层并保持宽度和 origin.x 的整数值,有人有解决方案吗?

4

1 回答 1

2

您可以使用精确值计算所有原点,然后将它们四舍五入到最接近的整数。然后通过简单地减去两个相邻的原点(或从最终子层的原点减去父级的总宽度)来计算所有宽度。这将生成完全覆盖您的父级的图层,具有整数坐标,但某些图层将比其他图层宽 1 个像素。

于 2013-02-22T21:58:38.627 回答