2012-01-14 6 views
0

私はnavigationBarからフレームを取得して、幅と高さのサイズをゼロにしようとします。コード:なぜナビゲーションバーでフレームのサイズが空ですか?

CGRect f = self.navigationController.navigationBar.frame; 

私はf.heightからゼロになります。

どうしたのですか?あなたのコード内

+0

'self.navigationController.navigationBar'が' nil'ではないことをもう一度確認してください。 –

+0

navigationBarがnilではありません –

答えて

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.909naveCon [4071:207] f.size =(320.00,44.00)

0

おそらくintをfloatまたはfloatとしてintに記録している可能性があります。あなたは

int ih = f.size.height; 

または

float fh = f.size.height; 

を行う場合は、フロートがfloatに変換されるように、任意の警告が表示されますが、

NSLog("%d", fh); 

または

NSLog("%f", ih); 
をログに記録しようとしていないだろう

は警告を出すはずですそれです。

関連する問題