Objective c 正确分配帧的方法

Objective c 正确分配帧的方法,objective-c,ios,view,Objective C,Ios,View,我正在开发一个应用程序,当用户点击按钮时,一个视图将显示该视图下方的视图,视图高度取决于一些标准。它将是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屏幕高度更独立。
在dieffernet屏幕大小为iphone 5的DeviceXe中使用时,仍然需要调整值,但这样做会更容易,希望您只需调整topInset和boittomInset,其余的都可以开箱即用,希望

听起来像NSSplitterView的工作?感谢@Pfitz的回答。是的,如果将来,规格更改我需要更改UI。