簡體   English   中英

當ViewController在iOS6 / iOS7中鎖定為人像時旋轉視圖

[英]Rotation for view when viewcontroller locked to portrait in ios6/ios7

我有一個視圖控制器,類似於facebook的狀態供稿vc,它看起來像是縱向的。 當點擊圖像時,vc創建一個自定義的“完整圖像視圖”並將其添加到超級視圖中。 在將視圖控制器鎖定為縱向模式的同時,我仍然希望用戶能夠旋轉設備以在橫向模式下查看圖像。.當關閉“全圖視圖”時,自定義視圖會將自己從超級視圖中刪除,因為我想將vc視圖鎖定為縱向。

底線,我希望將vc鎖定為縱向,但讓用戶可以選擇在兩個方向上查看完整圖像。

當我們談論方向時,它們是圖片中的兩件事:

  1. 設備方向
  2. 界面方向

僅通過名稱可以清楚地看到,設備方向告訴您設備位於哪個方向,而接口方向告訴您應用程序以其接口呈現哪個方向。

“我希望將VC鎖定為縱向模式,但允許用戶選擇以兩個方向查看完整圖像。”

這樣,很明顯您不想更改應用程序的界面。 當設備方向發生變化時,您想要旋轉圖像。

為此,您應該做的第一件事就是看看此方法beginGeneratingDeviceOrientationNotifications

編寫此文件可在每次更改設備方向時獲得通知[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

現在,在顯示圖像的viewController中,編寫以下代碼

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange) name:UIDeviceOrientationDidChangeNotification object:nil];

deviceOrientationDidChange方法中,按照設備方向旋轉圖像。如果需要更多信息,請告訴我。

當您展示圖片時:

if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
UIImageView.transform = CGAffineTransformMakeRotation(M_PI + M_PI_2);     
}

這應該可以,但是我沒有測試!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM