Изменение размера UIScreen при вращении - PullRequest
1 голос
/ 08 июля 2011

Я делаю приложение для iPad, которое запускается в книжной ориентации, но может поворачиваться в альбомную ориентацию. В - (void) loadView я вызываю функцию drawView. В drawView у меня есть эта строка кода:

CGRect r = [[UIScreen mainScreen] bounds];

Единственная проблема в том, что он не обновляется, когда я поворачиваюсь в альбомный режим, поэтому он все еще думает, что экран находится в вертикальной ориентации, и если я хочу, чтобы текстовое представление расширяло все на весь экран, оно обрезает его на 768-м пикселе вместо 1024-го пикселя. В - (BOOL) shouldAutorotate ... У меня есть case UIInterfaceOrientationLandscapeRight: и case UIInterfaceOrientationLandscapeLeft :, и мне в идеале нужно разместить CGRect r = [[UIScreen mainScreen] bounds]; под каждый случай, но я не думаю, что это сработает. Какие-либо предложения? Спасибо за вашу помощь!

Редактировать: я даже пытался вызвать функцию с

CGRect r = [[UIScreen mainScreen] bounds];

, но все равно не будет работать. Я помещаю NSLog после него, и я получил ответ, так что приложение определенно работает должным образом и не падает, но я все еще не могу понять это. Есть идеи? Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Ваше приложение полагается на списки для конфигурации?Я видел некоторые приложения, в которых вы можете получить альбомную ориентацию, но только после того, как вы установили ориентационный ключ на false.

0 голосов
/ 08 июля 2011

Я думаю, что ваша проблема может быть решена с помощью autoresizingMask из UIView;

...