iPad - Получение размера экрана в портретной и альбомной ориентации - PullRequest
4 голосов
/ 09 апреля 2011

Я использую следующий код для получения ширины экрана:

CGFloat width = [UIScreen mainScreen].bounds.size.width - 100;

Но его ширина равна "668.0" в портретной и альбомной ориентации.Как можно получить разную ширину в зависимости от ориентации устройства.

Ответы [ 3 ]

3 голосов
/ 12 апреля 2011

Хорошо. В этом случае мы можем использовать,

CGRect viewFrame = self.view.frame;
int width = viewFrame.size.width;
int height = viewFrame.size.height;
3 голосов
/ 03 ноября 2011

Я столкнулся с той же проблемой, что и вы, и все, что я смог найти, это проверить ориентацию и вычислить высоту и ширину следующим образом:

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
screenHeight = orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight ? 748 : 1004;
screenWidth = orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight ? 1024 : 768;

Эти размеры предназначены для iPad-ов, но они могут работать на iPhone с нужными размерами.

Лично я думаю, что это немного бедно, но я не мог найти ничего другого.

1 голос
/ 11 апреля 2011
CGSize winSize = [[CCDirector sharedDirector] winSize];

winSize.width даст вам ширину, а winSize.height даст вам высоту.

...