2013-03-17 82 views
-1

我有一個很少的控件的視圖,我希望它垂直居中,無論設備。如何在3.5英寸和5英寸設備上居中查看?

我嘗試了自動佈局沒有太多的幫助。

我試過大小檢查器 - 排列 - 中心水平在容器中,但它只適用於一種類型的屏幕。所以,如果我安排在4英寸的顯示器上,它將在3.5英寸太低,如果我安排在3.5英寸它將在4英寸太高。

可以做些什麼呢?

+0

@Downvoter請詳細介紹downvote的原因,以便用戶可以改善問題,如果可能的話。 – Popeye 2013-03-17 15:49:59

回答

-2

我結束了使用兩種不同的XIBs,一個3.5英寸和一個4臺英寸的設備來完成。

+0

@Downvoter請詳細說明downvote的原因,以便用戶可以在可能的情況下改進答案。 – Popeye 2013-03-17 15:48:22

1

嘗試使用[UIScreen mainScreen].bounds.size設置代碼中框架的X和Y以獲取屏幕大小。

反正我敢肯定,這可以通過自動佈局

+0

Autolayout非常棒,但我想支持iOS 5. – Dvole 2013-03-17 10:37:21

+0

哦,好的!試試這個代碼: '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

2

您可以通過執行

CGPoint viewCenterPoint = [[self view] center]; 

這將讓雙方的主視圖的中心xy位置得到的,你是把主要觀點的中心到。你可以,如果你想有中心主視圖x比你能做到這樣設定爲每一個自己xy位置像

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。

希望這會有所幫助。

相關問題