Принудительный UIImagePickerController для съемки видео в ландшафтном режиме - PullRequest
2 голосов
/ 10 ноября 2010

У меня есть приложение для iPhone с портретным портретом, которое должно снимать видео, и я хотел бы мягко побудить пользователей (хорошо, заставить) снимать это видео в ландшафтном режиме.

I 'мы пытались создать UIViewController с ShouldAutorotateToInterfaceOrientation переопределенным, чтобы вернуть false, и присвоить CGAffineTransforms его представлению, но это не имеет никакого эффекта - я предполагаю, потому что представление не отображается, когда вы вызываете PresentModalViewController для отображенияUIImagePickerController.Элементы управления всегда отображаются в одном и том же месте, а элемент управления переключением на фронтальную камеру все еще перемещается, когда я поворачиваю телефон.

Есть предложения?Я бы согласился с определенными доказательствами того, что это невозможно, хотя я не уверен, что мой босс это сделает.

1 Ответ

1 голос
/ 15 ноября 2010

Попробуйте вызвать UIDevice.CurrentDevice.BeginGeneratingDeviceOrientationNotifications() в вашем AppDelegate.

Затем в методе ViewDidLoad () вашего UIImagePickerController добавьте наблюдателя, выполнив следующие действия:

public override void ViewDidLoad()
{
    base.ViewDidLoad();
    NSNotificationCenter.DefaultCenter.AddObserver("UIDeviceOrientationDidChangeNotification", DeviceRotated);
}

, где DeviceRotated равно

private void DeviceRotated(NSNotification notification)
{
    button.Transform = CGAffineTransform.MakeRotation(1.5f);
}
...