为什么不在Tab Bar App中旋转视图?

时间:2012-07-20 00:43:14

标签: objective-c youtube uitabbarcontroller rotation landscape

我有一个标签栏应用,我的一个标签的viewcontroller将webview加载到youtube视频。当我点击播放并尝试观看视频时,我不知道为什么我无法旋转。

这是我的代码

//
//  TefViewController.m
//  SephardiJews
//
//  Created by Yuval Marcus on 7/19/12.
//  Copyright (c) 2012 iOS Developer, Chief Writer at Sephardijews.com. All rights reserved.
//

#import "TefViewController.h"

@implementation TefViewController
@synthesize tef;

-(void)viewDidLoad {
    [super viewDidLoad];
    [tef loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=YSuH69FlXiM"]]];

}

// Can't rotate landscape
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
@end

2 个答案:

答案 0 :(得分:0)

tabbarcontroller不会自动旋转到横向,除非所有根控制器都支持相同的方向。你应该写

-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation{
    return YES;
}

在你要旋转的viewcontroller的所有父节点上(包括uitabbarcontroller)。

答案 1 :(得分:0)

支持轮换由父控制器(导航控制器,TabBar控制器,视图控制器等)决定,除非子控制器说明不同。如果您想支持某些方向,只需覆盖

即可
-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation;
在您的应用程序的顶级控制器中的

方法,并将该方法保留在所有子VC之外。孩子们将从父母继承这些支持的方向。