Почему размер фрейма пуст в навигационной панели? - PullRequest
0 голосов
/ 15 января 2012

Я пытаюсь получить кадр из navigationBar и получить нулевую ширину и высоту размера.Код:

CGRect f = self.navigationController.navigationBar.frame;

В режиме отладки я получаю ноль от f.height.

Что не так?

Ответы [ 3 ]

2 голосов
/ 20 января 2012

используйте это

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

Это покажет кадр.

0 голосов
/ 15 января 2012

Скорее всего, вы регистрируете int как float или float как int. Если вы делаете

int ih = f.size.height;

или

float fh = f.size.height;

вы не увидите никаких предупреждений, поскольку float будет преобразован в float, но при попытке войти

NSLog("%d", fh);

или

NSLog("%f", ih);

должен предупредить вас, просто прочитайте его.

0 голосов
/ 15 января 2012

в вашем коде: 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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...