我有一個很少的控件的視圖,我希望它垂直居中,無論設備。如何在3.5英寸和5英寸設備上居中查看?
我嘗試了自動佈局沒有太多的幫助。
我試過大小檢查器 - 排列 - 中心水平在容器中,但它只適用於一種類型的屏幕。所以,如果我安排在4英寸的顯示器上,它將在3.5英寸太低,如果我安排在3.5英寸它將在4英寸太高。
可以做些什麼呢?
我有一個很少的控件的視圖,我希望它垂直居中,無論設備。如何在3.5英寸和5英寸設備上居中查看?
我嘗試了自動佈局沒有太多的幫助。
我試過大小檢查器 - 排列 - 中心水平在容器中,但它只適用於一種類型的屏幕。所以,如果我安排在4英寸的顯示器上,它將在3.5英寸太低,如果我安排在3.5英寸它將在4英寸太高。
可以做些什麼呢?
我結束了使用兩種不同的XIBs,一個3.5英寸和一個4臺英寸的設備來完成。
@Downvoter請詳細說明downvote的原因,以便用戶可以在可能的情況下改進答案。 – Popeye 2013-03-17 15:48:22
嘗試使用[UIScreen mainScreen].bounds.size
設置代碼中框架的X和Y以獲取屏幕大小。
反正我敢肯定,這可以通過自動佈局
Autolayout非常棒,但我想支持iOS 5. – Dvole 2013-03-17 10:37:21
哦,好的!試試這個代碼: 'CGSize screenSize = [UIScreen mainScreen] .bounds.size; CGFloat yValue = screenSize.height/2 - self.self.yourView.frame.size.height/2; CGRect newRect = CGRectMake(self.yourView.frame.origin.x,yValue,self.yourView.frame.size.width,self.yourView.frame.size.height); self.yourView.frame = newRect;' – BigLex 2013-03-17 10:52:53
您可以通過執行
CGPoint viewCenterPoint = [[self view] center];
這將讓雙方的主視圖的中心x
和y
位置得到的,你是把主要觀點的中心到。你可以,如果你想有中心主視圖x
比你能做到這樣設定爲每一個自己x
或y
位置像
CGPoint viewCenterPoint = CGPointMake([[self view] center].x, [[self view] center].y);
左右。
一旦你設置了viewCenterPoint
,你就可以在新的視圖上看到你想要放在主視圖的中心,你可以做。
// ... all code to set myNewView up
[myNewView setCenter:viewCenterPoint];
簡單來說,這應該適用於3.5英寸和4英寸的設備以及iPad。
希望這會有所幫助。
@Downvoter請詳細介紹downvote的原因,以便用戶可以改善問題,如果可能的話。 – Popeye 2013-03-17 15:49:59