检测UIImagePicker OverlayView方向

时间:2016-10-05 11:53:07

标签: ios iphone swift uiimagepickercontroller

根据Apple的文档,图像选择器仅支持纵向模式。

但我想让我的自定义OverlayView检测设备方向,分别旋转我使用的自定义按钮/图像。

Apple也在Camera App上做了这件事。如果您在横向上旋转设备,您会注意到Switch Front Camera Button和Photos缩略图也会自动旋转。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

嗯,在Controller上尝试了一些简单的东西,它使用了imagePicker并且确实有效。 如果您有更好的解决方案,请告诉我。

(Get-Content $targetFile) |
         Foreach-Object {              
            $_ -replace [regex]::Escape('<add key="Path" value="/DEV/Reports" />'), '<add key="WebReportsPath" value="/QA/Reports" />' `
                -replace [regex]::Escape('<add key="EmpReport" value="/DEV/Emp/Reports" />'), '<add key="EmpReport" value="/QA/Emp/Reports" />' `                                        
                -replace "olddatabase", "newdatabase"

         } |
         Set-Content $targetFile

编辑:在与UIDevice.currentDevice()。方向斗争之后,我注意到随机没有收到正确的方向结果。所以我通过使用CMMotionManager在stackoverflow上发布了that one solution。刚刚使用observer和async_patch进行了一些更改。

func checkRotation(){
    if UIDevice.currentDevice().orientation.isLandscape.boolValue {
        print("landscape")
    } else {
        print("portrait")
    }
}

override func viewDidLoad(){
    super.viewDidLoad()

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

}