首頁>Program>source

在使用者將视频视圖控製器从匯航控製器上弹出之前,我已经使用此代碼在使用者完成观看视频後將方向更改迴縱向(它允许以横向模式观看):

//set statusbar to the desired rotation position
[[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationPortrait animated:NO];
//present/dismiss viewcontroller in order to activate rotating.
UIViewController *mVC = [[[UIViewController alloc] init] autorelease];
[self presentModalViewController:mVC animated:NO];
[self dismissModalViewControllerAnimated:NO];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

iOS 5.1.1之前,它一直執行良好 .在阅讀另一篇文章後,我什至尝試使用新的present / dismiss方法:

[self presentViewController:mVC animated:NO completion:NULL];
[self dismissViewControllerAnimated:NO completion:NULL];

問题是它根本不起作用.將视频查看器旋轉到横向並弹出後,我的設置视圖(表视圖控製器)又迴到横向模式.

我什至尝試了此處的提示< / a>

"維兹威兹 不建議您彻底棄用该方法.但是,現在仅当 setStatusBarOrientation:animated: 最頂部的全屏视圖控製器的方法返迴0。這是確保狀態欄方向一致的责任在呼叫者手中。"

因此,我尝試設置標志以強製 supportedInterfaceOrientationssupportedInterfaceOrientations (在呼叫上面的第一个代碼塊之前),但是它也不起作用。

有人對此有解決方案吗? 感谢您的時間和精力。

return 0
最新回復
  • 9天前
    1 #

    setStatusBarOrientation 方法有點改變了行為.根据Apple文件:

    The setStatusBarOrientation:animated: method is not deprecated outright. It now works only if the supportedInterfaceOrientations method of the top-most full-screen view controller returns 0

    root

    您的根视圖控製器應對方法 shouldAutorotate迴答為false 為了让您的應用响應 setStatusBarOrientation:animated

    来自Apple文件:"但是,如果您的應用程式具有可旋轉的視窗內容,則不應使用此方法隨意設置狀態欄方向"

    要了解這一點,請在 shouldAutorotate中放置一个斷點 方法,您会在設置狀態欄方向後看到它稱為juste.

  • 9天前
    2 #

    這是我的固定方法。

    https://stackoverflow.com/a/14530123/1901733

    当前問题与上面網址中的問题相關聯。

    statusBarOrientation是ios6中的一个實際問题。

  • java:垃圾迴收和執行緒
  • CSS規範:塊級框,塊容器框和塊框