我嘗試從navigationBar獲取框架並獲得零寬度和高度的大小。代碼:爲什麼在導航欄中框架的大小是空的?
CGRect f = self.navigationController.navigationBar.frame;
在調試模式下,我從f.height得到零。
出了什麼問題?
我嘗試從navigationBar獲取框架並獲得零寬度和高度的大小。代碼:爲什麼在導航欄中框架的大小是空的?
CGRect f = self.navigationController.navigationBar.frame;
在調試模式下,我從f.height得到零。
出了什麼問題?
使用本
NSLog(@"frame:%@",NSStringFromCGRect(f));
這將顯示框。
: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)
大多數情況下,您可能會將int以float或float的形式記錄爲int。如果你
int ih = f.size.height;
或
float fh = f.size.height;
你不會看到任何警告的持股量將被轉換爲浮動,但嘗試登錄
NSLog("%d", fh);
或
NSLog("%f", ih);
應該給你一個警告,只是說實話d it。
你仔細檢查'self.navigationController.navigationBar'不是'nil'嗎? – 2012-01-14 20:46:19
navigationBar不是零 – 2012-01-14 20:46:50