2016-07-28 65 views
0

當我的設備處於縱向或橫向模式時,如何才能旋轉按鈕?我知道這樣的事情:如何在設備方向快速變化時旋轉按鈕?

button.transform = CGAffineTransformMakeRotation(CGFloat(M_PI)) 

但是,我必須在我的代碼中調用它?
我不想在橫向模式下設置我的設備,我只是想在圖標處於橫向模式時旋轉圖標。
在此先感謝!

+0

檢查此鏈接http://stackoverflow.com/questions/25666269/ios8-swift-how-to-detect-orientation-change –

回答

1

的最佳方式要做到這一點是viewDidLoad添加以下代碼行:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(rotate), name: UIDeviceOrientationDidChangeNotification, object: nil) 

,然後在功能旋轉設備取向的情況下做一些這樣的代碼:

func rotate(){ 
    if UIDeviceOrientationIsLandscape(UIDevice.currentDevice().orientation) { 
    //your code here in landscape mode 
    } 
if UIDeviceOrientationIsPortrait(UIDevice.currentDevice().orientation){ 
    //your code in portrait mode 
    } 
} 

這個解決方案很簡單,真的很容易做到。

0

我猜你知道如何「旋轉」按鈕,所以我只是告訴你如何知道設備已經旋轉。

在一個視圖控制器,重寫willRotateToInterfaceOrientation

override func willRotateToInterfaceOrientation(toInterfaceOrientation: UIInterfaceOrientation, duration: NSTimeInterval) { 

} 

在該方法體,可以檢查的toInterfaceOrientation值知道設備旋轉到哪個方向。例如:

switch toInterfaceOrientation { 
    case Portrait: 
     // some code here... 
    default: 
     break 
} 
相關問題