устройство повернуто, но экран не растягивается

в моем приложении для iphone я вернул да в следующем методе, он работал, и экраны вращаются, но содержимое не помещается на экране, когда оно находится в ландшафтном режиме.

Ниже приведен код, который я использовал

  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
    {
         return YES;

    }

ниже мой вывод введите здесь описание изображения

как я могу подогнать содержимое экрана к размеру экрана при его вращении, может ли кто-нибудь мне помочь, заранее спасибо,


person Ravi    schedule 31.08.2011    source источник


Ответы (2)


Вы должны reset the views frame, когда устройство собирается повернуться. Обычно это следует делать в методе willRotateToInterfaceOrientation.

Вы также можете просто использовать autoResizingMask, который автоматически изменит размер представления при изменении его кадра superView.

// Add this line in loadView method
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | 
                             UIViewAutoresizingFlexibleHeight;
person EmptyStack    schedule 31.08.2011
comment
спасибо за ваш ответ, я работал над этим, но он не работает - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { if(interfaceOrientation == UIDeviceOrientationLandscapeRight) { self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; } // Возвращаем YES для поддерживаемых ориентаций //return (interfaceOrientation == UIInterfaceOrientationPortrait); вернуть ДА; } - person Ravi; 31.08.2011
comment
Вы должны добавить эту строку loadView method. - person EmptyStack; 31.08.2011
comment
Есть ли способ сделать это в конструкторе интерфейсов? - person Chicowitz; 23.10.2015

прочитайте этот учебник:

http://www.shinstudio.com/blog/programming/rotating-view-in-iphone-app/

внедрение willRotateToInterfaceOrientation будет решением

person Marek Sebera    schedule 31.08.2011