我正在开发一个应用程序,当用户单击按钮时,视图将在其下方显示一个视图,视图高度取决于某些标准。它将是某个 x 高度或 y 高度,没有其他高度。现在我的问题是,什么是为该视图分配高度的正确方法,我应该硬编码它取决于标准还是每次我应该根据放置的内部视图计算高度。如果我每次都计算高度那么现在它是无用的,因为我们知道什么应该是高度,但将来可能会发生 UI 更改,因此高度可能会更改。我想知道你们的想法,正确的方法是什么?
提前致谢!
我正在开发一个应用程序,当用户单击按钮时,视图将在其下方显示一个视图,视图高度取决于某些标准。它将是某个 x 高度或 y 高度,没有其他高度。现在我的问题是,什么是为该视图分配高度的正确方法,我应该硬编码它取决于标准还是每次我应该根据放置的内部视图计算高度。如果我每次都计算高度那么现在它是无用的,因为我们知道什么应该是高度,但将来可能会发生 UI 更改,因此高度可能会更改。我想知道你们的想法,正确的方法是什么?
提前致谢!
只要视图布局不变,我就会使用硬编码值。即使稍后会发生变化,我也会首先使用硬编码值,然后在真正需要时,我会将实现更改为动态值。我的逻辑背后的原因是,在真正需要之前,条件可能会很快发生变化,因此即使您现在实现动态实现,您也不能确定在真正需要时不需要再次更改它,因为在那之前的规格变化,例如
我混合了硬编码和计算:
为了计算视图的位置,我定义了硬编码的插图:
CGFloat topInset = 5;
CGFloat bottomInset = 5;
CGFloat leftInset = 5;
CGFloat interButtonDistance = 10;
然后我通过以下方式计算子视图框架的位置:
CGFloat startX = 0;
CGFloat startY = 0;
CGFloat buttonSize = 50;
CGFloat buttonX = leftInset + column * (buttonSize + interButtonDistance);
此外,我不使用硬编码的屏幕尺寸,我阅读了它们
CGFloat height = self.view.frame.size.height; // or similar
然后我可以在视图底部放置一个按钮
buttonY = height - buttonHeight - bottomInset;
使用此技术,您将更加独立于 iphone / ipad 屏幕高度。在具有不同屏幕尺寸(iphone 5)的设备中使用时仍然需要调整值,但这会更容易,希望您只需调整 topInset 和 boittomInset,其余的工作开箱即用(希望如此)