2014-03-07 45 views
2

我在IOS.I新手工作的演示項目中,我應該打開UIImagepicker挑選照片和相機捕獲新的,在所有方向。 我知道UIImagepicker只支持縱向,但我做了一個UIImagePicker類別類,其中我重寫了支持方向的方向方法。如何將UIImage picker攝像頭的方向更改爲橫向?

問題是我的UIImagePicker在所有方向都完美打開,但相機旋轉了90度,當我切換到任何橫向模式時,屏幕會進入半屏。

所以要解決這個問題,我添加了一個觀察者,當方向改變時觸發通知。

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged) name:@"UIDeviceOrientationDidChangeNotification" object:nil]; 

和被調用的方法是

- (void) orientationChanged 
    { 
    if (self.imagePickerController.sourceType==UIImagePickerControllerSourceTypeCamera) 
    { 

    @try { 

      if (orientation == UIInterfaceOrientationLandscapeLeft) 
      { 
       transform=CGAffineTransformRotate(transform,LANDSCAPE_NEGATIVE_ANGLE * M_PI/LANDSCAPE_ANGLE); 
       transform=CGAffineTransformTranslate(transform, -75, -80); 
       [self.imagePickerController setCameraViewTransform:transform]; 

      } 
      else if (orientation == UIInterfaceOrientationLandscapeRight) 
      { 
       transform=CGAffineTransformRotate(transform,LANDSCAPE_NEGATIVE_ANGLE * M_PI/LANDSCAPE_ANGLE); 
       transform=CGAffineTransformTranslate(transform, 75, 80); 
       [self.imagePickerController setCameraViewTransform:transform]; 

      } 
      else 
      { 
       //  CGAffineTransform tmpTransform=PORTRAIT_Transform; 
       transform=CGAffineTransformRotate(transform,LANDSCAPE_NEGATIVE_ANGLE * M_PI/90); 
       transform=CGAffineTransformTranslate(transform, 0, 0); 
       [self.imagePickerController setCameraViewTransform:transform]; 

      } 
    } 
    @catch (NSException *exception) 
    { 
     NSLog(@"Exception occured, Details :%@",exception); 
    } 
    @finally { 

    } 

} 

}

,當我在縱向模式下打開相機,然後我改到其他方向這種方法工作正常,我。但是,當我在橫向模式下打開相機時,所有的事情都搞亂了。 我知道我在這裏使用了靜態值,但我沒有任何其他選擇。

有沒有人有任何建議或替代選擇。我會非常感謝他/她。

在此先感謝!

回答

1
+0

我很感謝你的回答,第一個鏈接說這是不可能的技術上...我知道,而另一個答案談UIImage不是關於UIImgePicker相機! Thanx for concers –

+0

因此,如果從定位設備糾察,您可以旋轉圖像... –

+0

從相機捕獲的圖像即將完美。但問題是相機覆蓋視圖變得混亂! –