Изменить поворот экрана расширения приложения в цели c
Как заблокировать вращающийся экран, я хочу, чтобы расширение моего приложения было только в портретном режиме. Когда я использую свое расширение внутри Photos my, я могу поворачивать экран в альбомной ориентации.
Спасибо
1 ответ
Решение
Вы должны выбрать:
1. Установите альбомную и книжную ориентацию как поддерживаемую ориентацию интерфейса в проекте, а затем для каждого ViewController вы переопределите поддерживаемую ориентацию интерфейса;
2- Установите только портретный режим в проекте, и в ViewController вам это нужно, вы можете сделать поворот на 90 градусов
self.view.transform = CGAffineTransformMakeRotation(M_PI_2);
РЕДАКТИРОВАТЬ: так что вы можете сделать это. Установите ваш контроллер в качестве наблюдателя для keyPath UIDeviceOrientationDidChangeNotification
, Затем:
-(void)changedOrientation: (NSNotification *)note
{
if (note)
{
UIDevice *dev = (UIDevice *)note.object;
if ([dev orientation] == UIInterfaceOrientationLandscapeRight)
{
self.view.transform = CGAffineTransformMakeRotation(M_PI_2);
}
else if ([dev orientation] == UIInterfaceOrientationPortrait)
{
self.view.transform = CGAffineTransformIdentity;
}
else if ([dev orientation] == UIInterfaceOrientationPortraitUpsideDown)
{
self.view.transform = CGAffineTransformIdentity;
}
else if ([dev orientation] == UIInterfaceOrientationLandscapeLeft)
{
self.view.transform = CGAffineTransformMakeRotation(-M_PI_2);
}
}
}