EXC_BAD_ACCESS при попытке получить размеры экрана iPhone - PullRequest
2 голосов
/ 10 октября 2011

Я пытаюсь изменить размер некоторых элементов в соответствии с размерами экрана при изменении ориентации интерфейса. Я читал в разных местах (включая несколько ответов здесь), что способ получить границы экрана - использовать [[UIScreen] mainScreen] bounds]. Поэтому я добавил этот код, чтобы посмотреть, как он себя ведет:

- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    NSLog(@"view dimensions: (%@, %@)", [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
}

Но при его запуске, как только я поворачиваю экран, я получаю сообщение EXC_BAD_ACCESS. Есть ли что-то в области действия функции willRotateToInterfaceOrientation, которая не позволяет мне вызывать границы экрана? Если так, как бы я поступил об этом?

1 Ответ

4 голосов
/ 10 октября 2011

% @ спецификатор формата ожидает, что параметром формата будет объект target-c, а то, что вы предоставляете, - просто float. Для печати чисел с плавающей запятой используйте спецификатор %f:

NSLog(@"view dimensions: (%f, %f)", [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...