2013-04-21 47 views
0

我有一個是通過成爲窗口的子視圖顯示的UITabController(然後動畫滑動中):根據最上面的/最後的子視圖旋轉嗎?

[self.window addSubview:tabController.view]; 

    CGRect endFrame = tabController.view.frame; 

    CGRect startFrame = tabController.view.frame; 
    startFrame.origin.y += [[UIScreen mainScreen] bounds].size.height; 
    tabController.view.frame = startFrame; 

    [UIView animateWithDuration:.5 animations:^{ 
     tabController.view.frame = endFrame; 
    }]; 

我的問題是,我想這個子視圖不旋轉,在所有,是畫像只要。儘管shouldAutorotateToInterfaceOrientationshouldAutoRotate在我的UITabController的子視圖中返回false,但它的某些部分仍在旋轉 - 如狀態欄,並且UINavigationBar更改了大小。

有沒有辦法解決這個問題,或者只是一種更好的做事方式?也許一種強制狀態欄旋轉和高度的方法?

回答

0

定義您UITabController如下:

- (UIInterfaceOrientation) supportedInterfaceOrientations 
{ return UIInterfaceOrientationPortrain; } 

從iOS版的文件:

聲明首選呈現定向 當一個視圖控制器 呈現全屏顯示其內容,有時內容 顯示最好的時候考慮在一個特定的方向。如果 內容只能以該方向顯示,那麼您只需將 返回爲您的方法中唯一的方向。

+0

謝謝。我結束了使用和[UIView transitionFromView]。 – mattsven 2013-04-21 17:50:19