Размер рамки iPad и смешение высоты в ландшафте
Я сделал то, что здесь сказал этот вопрос: Пейзажный режим ТОЛЬКО для iPhone или iPad
но view.frame.size.height по-прежнему составляет 1024, что является высотой, когда устройство находится в портрете, конечно, когда интерфейс вращает значения ширины и высоты?
(скажем, вы хотели разделить экран на 3 вида, для приложения, которое является как ландшафтным, так и портретным, и вы сделали view.frame.size.width/3, в ландшафте это было бы неверно, так как значение ширины фактически не будет ширины)
Я уверен, что на iPhone переключатель ширины и высоты, так почему бы и нет на iPad?
Это снова поразило меня. Я тоже не работаю с ником, может кто-нибудь, пожалуйста, дать приемлемый ответ? (т.е. тот, который не требует ручного переключения ширины и высоты)
Как только награда будет присуждена за ответ, я тогда заработаю еще одну награду за 250 и вручу ее одному человеку.
Ответы
Ответ 1
Вы не указали, какой "просмотр" вы запрашиваете. Предполагая, что это верхнее представление подкатегории окна:
Вы должны запросить представление bounds
не его frame
. frame
находится в координате, в которой определено представление (внешний мир), следовательно, может оставаться постоянным при вращении. bounds
- это координата, используемая "внутри" вида и для его подзонов. Это изменяется при повороте.
Ответ 2
+ (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);
}
Я потратил некоторое время на то, чтобы проработать простейшее решение проблемы, и это было лучшее, что я мог придумать. Надеюсь, это поможет.