Ios7 iOS 7界面定向2

Ios7 iOS 7界面定向2,ios7,landscape,portrait,Ios7,Landscape,Portrait,我在这里找到了所有的定向线程,并实现了其中的一些线程。每个人都工作了90%。下面是我正在制作的应用程序的一些背景。 它有5个选项卡项,每个选项卡项显然加载不同的视图。其中一些视图我想做横向和纵向,但有一个视图我只想做纵向。我有一些什么。HomeView需要是纵向的。无论您如何旋转手机,它都能很好地加载纵向视图,并保持这种状态。但是,如果切换到另一个支持横向视图的视图,将手机旋转到横向视图,然后触摸HomeView选项卡项,它将加载横向视图,即使设置为仅加载纵向视图。以下是HomeView控制器中

我在这里找到了所有的定向线程,并实现了其中的一些线程。每个人都工作了90%。下面是我正在制作的应用程序的一些背景。 它有5个选项卡项,每个选项卡项显然加载不同的视图。其中一些视图我想做横向和纵向,但有一个视图我只想做纵向。我有一些什么。HomeView需要是纵向的。无论您如何旋转手机,它都能很好地加载纵向视图,并保持这种状态。但是,如果切换到另一个支持横向视图的视图,将手机旋转到横向视图,然后触摸HomeView选项卡项,它将加载横向视图,即使设置为仅加载纵向视图。以下是HomeView控制器中当前的半工作代码:

- (void)viewDidLoad
{
    [super viewDidLoad];
    [self orientationPortrait];

    NSLog(@"[INFO] %@ loaded",self);
 }   


-(void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:true];
    [self orientationPortrait];
   }

-(void)viewWillAppear:(BOOL)animated
{
    [self orientationPortrait];

}
-(void)viewWillDisappear:(BOOL)animated
{
    //NSLog(@"viewWillDisappear -- Start");
    [self orientationPortrait];
}


  -(void) orientationPortrait {
        TechBookAppDelegate *appDelegate = (TechBookAppDelegate *) [[UIApplication sharedApplication] delegate];
        appDelegate.screenIsPortraitOnly = YES;
    }
    -(void) orientationBoth{
        TechBookAppDelegate *appDelegate = (TechBookAppDelegate *) [[UIApplication sharedApplication] delegate];
        appDelegate.screenIsPortraitOnly = FALSE;
    }
AppDelegate中的

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

    if(self.screenIsPortraitOnly == NO){
        return UIInterfaceOrientationMaskAll;
    } else {
        return UIInterfaceOrientationMaskPortrait | !UIInterfaceOrientationMaskAll;
    }
}
其他tabBarItems ViewController具有相同的功能,只是它们在需要时调用OrientationDuth方法,并且在Views上调用OrientationGrait将消失,因为我希望当视图移回HomeView时,它将有助于将其设置为纵向,但它似乎不起作用


请告知,谢谢。

我已通过在方向更改时重新组织HomeViewController的布局解决了此问题