objective-c - 如何旋转 UIWebView 中嵌入的视频(仅适用于 iOS 7)?

标签 objective-c video ios7 uiwebview landscape

我正在开发的应用程序是纵向的,但是当视频正在运行时(它嵌入在 WebView 中),我需要将视频重新定向为横向模式。我该怎么做?我找到了一个解决方案,它在几天前工作得很好 :)。我相信这是因为 iOS 7 更新,但我不确定。所以,这就是我以前使用的,但它不再起作用了,因为窗口和类名始终为 nil。

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{

id presentedViewController = [window.rootViewController presentedViewController];
NSString *className = presentedViewController ? NSStringFromClass([presentedViewController class]) : nil;

if (window && [className isEqualToString:@"MPInlineVideoFullscreenViewController"]) {
    return UIInterfaceOrientationMaskAll;
} else {
    return UIInterfaceOrientationMaskPortrait;
}

最佳答案

我终于自己找到了解决办法!我在 AppDelegate 中实现了以下方法并且有效。我的问题是,一开始我没有检查正确的 View Controller 。

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window {

NSString *className = NSStringFromClass([window class]);
if ([((UINavigationController *)window.rootViewController) respondsToSelector:@selector(visibleViewController)]) {
    className = NSStringFromClass([((UINavigationController *)window.rootViewController).visibleViewController class]);
}

if ([className isEqualToString:@"MPFullscreenWindow"] || [className isEqualToString:@"MPInlineVideoFullscreenViewController"]) {
    return UIInterfaceOrientationMaskAll;
} else if  (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
    return UIInterfaceOrientationMaskLandscape;
} else {
    return UIInterfaceOrientationMaskPortrait;
} 

关于objective-c - 如何旋转 UIWebView 中嵌入的视频(仅适用于 iOS 7)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22095982/

相关文章:

php - Codeigniter:MP4 视频上传不工作

ios - 从 sizewithFont :constrainedToSize:lineBreakMode: for iOS 7 not behaving as expected 转换

ios - 打开和关闭 inappbrowser 在 ios 7 的底部 phonegap+sencha 带来一个白色条

ios - 屏幕底部的 UIButton 仅间歇性突出显示

objective-c - 过滤 [NSWorkspace runningApplications] 以仅包含用户应用程序(无守护程序/UIAgents)

ios - xcode 6中启动屏幕中的动画

objective-c - 在 Swift 中将后台任务作为循环运行

objective-c - AF网络 : the current deployment target does not support automated _weak references

windows - 干净的 Windows 安装中存在哪些视频编解码器?

video - 查找远程媒体文件的视频分辨率和视频持续时间