IPad рамки ширины и высоты в альбомной - PullRequest
10 голосов
/ 04 сентября 2010

Я сделал то, что сказал этот вопрос: Пейзажный режим ТОЛЬКО для iPhone или iPad

, но view.frame.size.height по-прежнему равен 1024, то есть высоте, когдаустройство находится в портретном режиме, конечно, когда интерфейс поворачивает значения переключателя ширины и высоты?

(скажем, вы хотели разделить экран на 3 вида для приложения, которое является как альбомным, так и портретным, и вы просмотрели.frame.size.width / 3, в альбомной ориентации, которая не будет правильной, поскольку значение ширины фактически не будет шириной)

Я уверен, что на iPhone переключатель ширины и высоты, так почему бы и нетна iPad?


Это снова поразило меня. Я тоже не работаю с пером, кто-нибудь может дать приемлемый ответ?(т. е. без ручного переключения ширины и высоты)

Как только награда будет присуждена за ответ, я начну другую награду за 250 и назначу ее тому же человеку.

Ответы [ 2 ]

24 голосов
/ 15 сентября 2010

Вы не указали, какой "вид" вы запрашиваете. Предполагая, что это подпредставление верхнего уровня окна:

Вы должны запросить bounds представления, а не frame. frame находится в координате, в которой определяется вид (внешний мир), поэтому может оставаться постоянным при вращении bounds - это координата, используемая «внутри» представления и для его подпредставлений. Это меняется при повороте.

2 голосов
/ 15 сентября 2010
+ (int) currentWidth
{
 UIScreen *screen = [UIScreen mainScreen];
 int width = screen.currentMode.size.width;
 int height = screen.currentMode.size.height;
 return (UIDeviceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation]))? MAX (width, height) : MIN (width, height);
}

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

...