2009-12-22 108 views
2

因此,我正在對MPMoviePlayerController進行一些控制,我打算在縱向模式下使用它,只需使用垂直拍攝的視頻即可。我唯一的問題是,對於文本輸入,鍵盤出現在橫向上。iPhone防止鍵盤轉向風景

現在,我意識到有一種無證的方式來設置玩家的方向,但我寧願不嘗試這種方式並在應用商店被拒絕。 (僅供參考,這是它):

[moviePlayer setOrientation:UIDeviceOrientationPortrait animated:NO]; // not legal? 

我試圖重寫自動旋轉方法在​​我的視圖控制器:

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

但一旦電影播放器​​開始播放接管,不尊重這個。

我只是想知道,如果任何人有合法的方式來保持鍵盤縱向的任何其他想法,即使電影播放器​​想要使系統景觀。

感謝, 專利

回答

2

當iPhone旋轉時,「頂級」視圖發送的通知,並且視圖負責佈局它的子視圖。

如果您的UIWebView是頂級視圖,它會自動旋轉自己。但是,如果你把一個UIWebView另一種觀點的內部,並具有該「容器」視圖的視圖控制器實現shouldAutorateToInterfaceOrientation方法是這樣的:

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

這可能會阻止一個UIWebView從知道界面旋轉。請注意,我沒有真的嘗試過這個,但它應該可以工作。


從這個SO article

+0

我敢肯定,這是一般的好消息,但是對於這個問題的MPMoviePlayerController的觀點是從我們的手中,並得到由當您選擇操作系統推到窗口[moviePlayer play]。 我發現的唯一顯然是合法的解決方案是在開始玩後立即設置狀態欄方向: \t \t [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:NO]; \t \t 並迅速將其轉換回肖像。我將不得不更進一步,看看它有多好。 – 2009-12-29 17:14:42