2014-01-14 91 views
0

我想對齊容器UIView到屏幕的底部,它總是在任何設備的底部,無論分辨率或高度是多少,但我無法弄清楚如何通過故事板做到這一點。容器UIView對齊到底部

任何洞察力是讚賞。非常感謝!!!

+0

https://developer.apple.com/library/ios/documentation/userexperience/conceptual/AutolayoutPG/Introduction/Introduction.html – nhgrif

+0

你使用的是自動佈局嗎? – Pfitz

+0

謝謝一堆。 – user1732055

回答

1

你必須在你的視圖和它的容器視圖之間建立一個垂直約束,在視圖之間有一個你想要的空間常量。

通過IB的一種方式是將CTRL拖動到您的視圖到容器視圖並選擇底部空間到底部佈局指南。

enter image description here

確保創建佈局約束有正確的值,因爲IB將使用當前距離兩個意見後,檢查不變。

+0

哈利路亞!這就是它。非常感謝。我現在不得不處理6.1和7差異,因爲我在模擬器中沒有得到相同的行爲。 – user1732055

+0

很高興我能幫到:) – Pfitz

+0

我有一個小問題:當我切換到3.5屏幕時,底部容器現在是不可見的。我假設它被推倒了。我使用自動佈局,所以我認爲這不會發生。謝謝! – user1732055

0

使用自動佈局(official documentation),或者你可以這樣做:

// Assuming you want to move a UIView *foo 

CGFloat screenHeight = [[[[UIScreen mainScreen] bounds] size] height]; 

CGRect newFrame = foo.frame; 
newFrame.origin.y = screenHeight - foo.frame.size.height; 

foo.frame = newFrame; 

隨着自動佈局:

Adding New Constraints

在這張圖片中,在彈出的最上面的部分在彈出的對話框中,帶數字的下拉菜單可讓您選擇要設置約束的相關內容。嘗試這個。

+0

我早些時候嘗試過,但遇到了一個問題,如果點擊容器,點擊觸發模式視圖,容器會回到故事板上的「硬編碼」位置。我不知道爲什麼。 – user1732055

+0

可能是因爲自動佈局。嘗試把這些行放在你的視圖控制器的這個方法中:' - (void)layoutSubviews {[super layoutSubviews];/*放置視圖* /}'但您也可以使用自動佈局約束來定位視圖。 – nhgrif

+0

非常感謝。看起來上面的解決方案使其停止從新的位置跳下。 – user1732055