Я не хочу, чтобы мое приложение было ландшафтным и всегда было porttrait.Так я сделал свое приложение Информация о развертывании, чтобы установить только портрет. но когда мне нужно отображать любое изображение или видео в моем приложении, мне нужен ландшафтный режим для лучшего отображения.Как вручную настроить ориентацию устройства, когда портрет информации о развертывании приложения заблокирован?
можно обнаружить изменение ориентации устройства по
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:[UIDevice currentDevice]];
- (void) orientationChanged:(NSNotification *)note
{
UIDevice * device = note.object;
switch(device.orientation)
{
case UIDeviceOrientationPortrait:
/* */
break;
case UIDeviceOrientationPortraitUpsideDown:
/* */
break;
case UIDeviceOrientationLandscapeLeft:
/* */
break;
case UIDeviceOrientationLandscapeRight:
/* */
break;
default:
break;
};
}
Но как я вручную изменить ориентацию устройства, даже когда приложение Info Deployment портрет заблокирован?
Это оленья кожа работал
NSNumber *value=[NSNumber numberWithInt: UIDeviceOrientationLandscapeLeft];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
зачем нужен этот метод ** LandScapeViewControler --- (void) viewWillAppear: (BOOL) анимированный **? Не могу я просто поставить shouldAutorotate на ** ДА ** в ** LandScapeViewControler **, и он может вращаться в LandScapeleft, справа, портрет, upsidedown. –
Вы хотите ограничить только LandScapeViewControler в LandScape. В противном случае вы можете вернуть ДА –
, к сожалению, мой ** shouldAutorotate ** не вызывается. Вы знаете почему? –