0

我在 tabbarcontroller 中有一个“VideoLecturesDetails”,这个类有这个方法

-(IBAction) playVideo{
    NSString *fileURL = [NSString stringWithFormat:@"%@" ,FileName];

    NSURL* videoURL = [NSURL URLWithString:fileURL];                
    MPMoviePlayerViewController* theMoviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
    [theMoviePlayer shouldAutorotate];
    [self presentMoviePlayerViewControllerAnimated:theMoviePlayer];
}

-(BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers {
    return NO;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    return YES;//This allows all orientations, set it to whatever you want
}

所以在播放视频时自动旋转不起作用,我怎样才能使用这种方法启用自动旋转。

4

1 回答 1

1
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return YES;//This allows all orientations, set it to whatever you want

}

上面的代码在 IOS 6 中不再可用!您应该为使用 IOS 5 或更低版本的应用程序的用户保留它。

在 IOS 6 中,您应该按如下方式实现轮换:

在 appDelegate 中:使用:

window.rootViewController = viewController

代替:

[window addSubview:viewController.view];

并添加:

- (NSUInteger) application:(UIApplication *)application 

supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return  UIInterfaceOrientationMaskAll;
}

每次旋转时都会发生这种情况。

在您的视图控制器中,您应该添加以下内容:

-(BOOL)shouldAutorotate {

    return YES;
}
-(NSUInteger)supportedInterfaceOrientations {

        return UIInterfaceOrientationMaskAllButUpsideDown;
}
于 2013-02-12T15:52:54.507 回答