我正在開發一個應用程序,其中當用戶點擊按鈕時,視圖將顯示下方的視圖,視圖高度取決於一些標準。它將有一些x高度或y高度,沒有其他高度。現在我的問題是,如何根據標準或每次我應該根據放置的內部視圖來計算高度,我是否應該根據標準進行硬編碼,如果我每次都計算高度,現在它是無用的,因爲我們知道應該是什麼樣的高度,但將來可能會發生UI變化,所以高度可能會改變。 我想知道你們的想法,哪種方法正確?適當的方式分配框架
在此先感謝!
我正在開發一個應用程序,其中當用戶點擊按鈕時,視圖將顯示下方的視圖,視圖高度取決於一些標準。它將有一些x高度或y高度,沒有其他高度。現在我的問題是,如何根據標準或每次我應該根據放置的內部視圖來計算高度,我是否應該根據標準進行硬編碼,如果我每次都計算高度,現在它是無用的,因爲我們知道應該是什麼樣的高度,但將來可能會發生UI變化,所以高度可能會改變。 我想知道你們的想法,哪種方法正確?適當的方式分配框架
在此先感謝!
只要視圖佈局不變,我就會使用硬編碼值。即使稍後改變,我也會首先使用硬編碼值,然後在真正需要時我會將實現更改爲動態值。我的邏輯背後的原因是,除非真的需要,否則條件可能會非常迅速地發生變化,因此即使您現在實施了動態實施,也不能確定在真正需要時不必再次更改它,因爲規範改變,直到那時例如
感謝@Pfitz,您的回答。是的,我同意,如果將來規格發生變化,我需要更改UI。 –
我做的混合物中的硬編碼和計算:
要計算的視圖i的定義硬編碼插圖的位置:
CGFloat topInset = 5;
CGFloat bottomInset = 5;
CGFloat leftInset = 5;
CGFloat interButtonDistance = 10;
然後我calulate由子視圖幀的位置:
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;
定位在視圖底部的按鈕,使用此TECHNIC你是從iPhone/iPad的屏幕高度多一點indepenedent。 在dieffernet屏幕尺寸(iphone 5)中使用devicxe時,仍然需要調整值,但這樣做更容易,希望yus只需調整topInset和boittomInset,其餘部分就可以使用(希望)
聽起來像'NSSplitterView'的工作? – trojanfoe