2013-03-03 68 views
0

該視圖設置爲「視網膜3.5全屏」我的看法似乎不調整高度,雖然它應該?

底部是一個按鈕,設置爲追蹤視圖底部(外頂部,左外部和外底部支柱組)。

此代碼是在viewDidLoad中

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
    CGRect viewRect = [self.view bounds]; 
    CGFloat height = viewRect.size.height; 
    NSLog(@"Screen is %g pixels high", height); 
} 

當我在iPhone 3.5" 的模擬器設置運行它我得到的480個像素和按鈕保持它是一個高度。

當我在4「模擬器中運行它我期望更高的視圖,並且該按鈕移動到與底部齊平。但事實並非如此。但視圖明顯擴大以填充模擬器的整個屏幕,儘管代碼聲稱視圖仍然只有480像素高。

我可以檢查什麼?我寧願不必編寫代碼來重新定位按鈕...

+0

您是否嘗試過在'-viewWillAppear檢查視圖邊界檢查iPhone 5:'? – 2013-03-03 09:16:57

回答

1

在XCode中的實用程序中的大小檢查器選項卡中,您應該看到「視圖」部分下的自動調整選項。
確保您的UIView被配置爲使用視網膜4的屏幕時,全方位地擴大應該看到它的高度增加:

擴大的UIView

Expanding UIView

其次,自動調整大小的選項允許你設置UIView所在的哪一側(灰色框外的紅線)。通過錨定你的UIButton的底部,而不是頂部,就應該調整過程中保持從它的父底部的距離:

的UIView掛靠在底部

UIView anchored to bottom

+0

優秀!我完全忽略了按鈕頂部的錨定。 – 2013-03-03 11:09:07

-2

視圖幀保持相同適用於iPhone 5和以前的型號。

代替UIScreen界限改變

您可以通過

if([UIScreen mainScreen] bounds].size.height == 480) 
{ 
    // iPhone Classic 
} 
else 
{ 
    // iPhone 5 
} 
+0

這完全沒有幫助。當然,你的視圖尺寸在iPhone 5和iPhone 4上全屏顯示時會有所不同。 – 2013-03-03 09:18:55

+0

我有上述的經驗..所以這是真的。如果你認爲視圖大小會有所不同,爲什麼'NSLog'輸出,否則在問題...視圖框架和邊界保持不變。[iPhone的UIScreen mainScreen]邊界改變5 – Shubhank 2013-03-03 09:26:09

+0

如果你的屏幕尺寸更大,你的觀點尺寸也會更大。這很簡單。您是否認真地試圖說服我,iPhone 5上的全屏視圖高度爲480點?祝你好運男人... – 2013-03-03 10:01:42

相關問題