2012-01-14 72 views
0

我嘗試從navigationBar獲取框架並獲得零寬度和高度的大小。代碼:爲什麼在導航欄中框架的大小是空的?

CGRect f = self.navigationController.navigationBar.frame; 

在調試模式下,我從f.height得到零。

出了什麼問題?

+0

你仔細檢查'self.navigationController.navigationBar'不是'nil'嗎? – 2012-01-14 20:46:19

+0

navigationBar不是零 – 2012-01-14 20:46:50

回答

2

使用本

NSLog(@"frame:%@",NSStringFromCGRect(f)); 

這將顯示框。

0
在你的代碼

f.height應該f.size.height


這樣:此代碼

CGRect f = self.navigationController.navigationBar.frame; 
NSLog(@"f.size = (%.2f, %.2f)", f.size.width, f.size.height); 

是給我這樣的輸出:

2012-01-14 15 :54:32.909 naveCon [4071:207] f.size =(320.00,44.00)

0

大多數情況下,您可能會將int以float或float的形式記錄爲int。如果你

int ih = f.size.height; 

float fh = f.size.height; 

你不會看到任何警告的持股量將被轉換爲浮動,但嘗試登錄

NSLog("%d", fh); 

NSLog("%f", ih); 

應該給你一個警告,只是說實話d it。