#iphone #ipad #uiview #resize
#iPhone #iPad #uiview #изменение размера
Вопрос:
Я создаю представление с несколькими подвидами для iPad. Я хочу, чтобы все позиционирование и размеры вложенных представлений оставались неизменными при повороте iPad, но содержимое внутри вложенных представлений переориентировалось. Кто-нибудь знает, как это сделать?
Ответ №1:
Похоже, вам все еще нужно компоновать представления в зависимости от ориентации. Однако ваши портретные и альбомные рамки будут иметь разные пропорции на экране.
Пример того, как вы могли бы расположить представление:
int h = 300;
int w = 100;
int space = 50;
CGRect frame;
if( interfaceOrientation == UIInterfaceOrientationPortrait ) {
frame = CGRectMake( space, space, w, h );
}
else if( interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ) {
frame = CGRectMake( self.view.bounds.size.width - w - space, self.view.bounds.size.height- h - space, w, h );
}
else if( interfaceOrientation == UIInterfaceOrientationLandscapeRight ) {
frame = CGRectMake( space, self.view.bounds.size.height- w - space, h , w );
}
else if( interfaceOrientation == UIInterfaceOrientationLandscapeLeft ) {
frame = CGRectMake( self.view.bounds.size.width - h - space, space, h, w );
}
self.label.frame = frame;
Комментарии:
1. законы, спасибо, это работает. Я обнаружил, что проще просто использовать авторазмер, в любом случае экран смещается, и я думаю, что пользователи больше привыкли к изменению размера, чем к полному повторению экрана.