Я настроил все мои виды в портретном режиме, затем соответственно установил маску авторазмера, чтобы она автоматически изменяла размеры видов при изменении ориентации .... однако, это, похоже, работает нормально для уже отображенных видов. Если я загружаю любые новые виды в ландшафтном режиме, я получаю инвертированные значения ширины и высоты в кадре загруженного вида.
Нужно ли рассчитывать размер кадра на основе ориентации для каждого из основных видов?
например, вместо
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0,0,500, 100)];
Я должен был бы сделать:
CGRect frame;
if([UIDevice orientation] == UIDeviceOrientationLandscape){
frame = CGRectMake(0,0,100,500)
}else{
frame = CGRectMake(0,0,500,100)
}
UIView* view = [[UIView alloc] initWithFrame:frame];
Это кажется мне немного скучным, учитывая, что автоповорот после загрузки представления работает отлично!
Как вы управляете рамками просмотра?
спасибо