2011-05-05 92 views
1

好吧,經過數週的頭痛,我已經放棄,並決定轉向專家資源在線!當從後臺回來iPhone導航欄旋轉問題

基本上,我試圖讓我的iphone應用程序在強制橫向模式(準確地說,對於一個圖)中查看只有1個視圖控制器,否則在縱向方向占主導地位的導航欄應用程序。

我得到了所有應用程序的工作方式,除了將應用程序置於後臺並返回時,應用程序將導航欄移回到其通常位於縱向定位模式中的位置,但旋轉90',而其他每個像狀態欄,主視圖全部仍處於橫向模式。

我試過手動更正導航欄方向,但可可似乎忽略了這一點的代碼。這幾乎就好像self.view.transform在應用程序從後臺模式返回時不起作用。有什麼建議麼?

LandscapeViewController.m

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return NO; 
} 

-(void)viewWillAppear:(BOOL)animated { 
    self.view.transform = CGAffineTransformMakeRotation((M_PI * (90)/180.0)); 
    self.view.bounds = CGRectMake(0.0, 0.0, 480, 320); 
} 

此圖片顯示,你可以明白我的意思

image http://i.stack.imgur.com/Qx1Si.png

+0

我不知道它會有幫助,但您應該明白,導航控制器視圖不屬於您的視圖控制器視圖。這是UINavigationController實例的視圖。所以當你調用self.view.transform ...和self.view.bounds ...它不會影響導航欄。 – Zapko 2011-05-10 13:03:03

回答

0

你試過嗎?

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return UIInterfaceOrientationIsLandscape(interfaceOrientation); 
} 
+0

是的,我已經嘗試過,但仍然沒有修復。看起來像這裏的圖片 - http://i.imgur.com/Qx1Si.png – hoju 2011-05-05 08:12:58

0

你不應該總是從shouldAutorotateToInterfaceOrientation返回NO:但你支持的方向返回YES。然後iOS處理剩下的事情。

+0

我已經做到了。同時在shouldAutorotate上放置一個斷點...以確認在從後臺返回時調用該斷點。但是,它仍然不能解決我的問題。 – hoju 2011-05-05 07:52:55