相关疑难解决方法(0)

UIImagePickerController以横向方向录制视频

我们如何强制UIImagePickerController控制器仅以横向模式录制视频?

我知道这个类应该用于肖像录制,但我需要在横向上使用它.

找到了几个类似的问题,但没有任何解决方案适合我(iOS 6.1).

例如,观察设备方向对我不起作用(这个答案 - /sf/answers/150330911/)

如果我实现UIImagePickerController类,如下所示:

#import "UIImagePickerController+NonRotating.h"

@implementation UIImagePickerController (NonRotating)

- (BOOL)shouldAutorotate
{

    return YES;
}

-(NSUInteger)supportedInterfaceOrientations

{
    return UIInterfaceOrientationMaskLandscape;

}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationLandscapeRight;
}

@end
Run Code Online (Sandbox Code Playgroud)

它几乎可以工作,但我在录制过程中看到一些控制和视频方向错误的奇怪行为(结果视频没问题).

1)开始.在正确的位置取消和录制按钮,但其他控制错误.视频旋转. 在此输入图像描述

2)录音.定时器和视频都是错误的. 在此输入图像描述

3)录制完成.都好!结果视频是对的.

在此输入图像描述

你有什么想法?

更新 我需要在录制过程中以横向方向锁定屏幕.

iphone video objective-c uiimagepickercontroller ios

13
推荐指数
1
解决办法
4952
查看次数

强制iOS视图不旋转,同时仍允许子项旋转

我有一个带有子视图控制器的视图控制器.

tab bar controller
|
|
nav controller
|
|
UIPageViewController (should rotate)
|
|
A (Video Player) (shouldn't rotate)
|
|
B (Controls overlay) (should rotate)
Run Code Online (Sandbox Code Playgroud)

应该强制A始终保持纵向,但应允许B自由旋转.

我知道shouldAutorotate适用于任何视图控制器及其子级,但有没有办法解决这个问题?好像我可以使用shouldAutorotateToInterfaceOrientation,但这在iOS 8中被阻止了.

我想保持视频播放器静态(因此水平视频始终是水平的,无论设备方向如何),而控制层子视图覆盖允许自由旋转.

我正在使用Swift.

uiviewcontroller autorotate ios swift

8
推荐指数
1
解决办法
4334
查看次数