2014-07-08 2 views
1

나는 평범한 바닐라 UIImagePickerController을 내 자신의 UIImagePickerControllerDelegate과 함께 사용하고 있습니다. 이렇게하면 각 캡처 후에 전체 컨트롤러를 폐기 할 때 사용자가 설정 한 플래시 모드가 항상 손실되므로 카메라를 다시 열면 플래시 모드가 항상 "뒤로"플래시가 (기본값)으로 설정됩니다.사용자가 CameraFlashMode를 변경할 때 알림을받는 방법?

내 카메라 유틸리티를 리팩터링하여 앱이 살아있는 한 계속 살릴 수 있지만 더 나은 방법은 사용자가 플래시 모드를 변경하고 해당 모드를 저장하고 카메라 전에 설정하면 알림을받는 것 같습니다. 다시 표시됩니다. 모드를 설정

는 문제가되지 않습니다,하지만이 사용자에 의해 변경 될 때 알림되지 않는, 나 UIImagePickerControllerDelegateFinishedPickingMedia 방법 내에서 UIImagePickerController 인수의 속성은 사용자가 설정 한 최신 값을 포함하지 , 또한 항상 "자동"입니다.

private class CameraDelegate : UIImagePickerControllerDelegate 
{ 
    public override void FinishedPickingMedia(UIImagePickerController picker, NSDictionary info) 
    { 
     // Is always UIImagePickerControllerCameraFlashMode.Auto 
     var foo = picker.CameraFlashMode; 
    } 
} 

어떻게 정보를 얻을 수 있습니까?

답변

1

키 - 값 관찰을 사용하면 속성이 변경 될 때 알림을받을 수 있다고 생각합니다. Monotouch here으로 KVO를 사용하는 방법에 대한 자습서를 찾을 수 있습니다. KVO에 항상 official Apple Documentation이 있습니다.

+0

문서를 읽으면서 작동해야합니다. 며칠 후에 시험해 보겠습니다. 감사. –

+0

불행히도 작동하지 않습니다. 나는 여기 cameraFlashMode와 setCameraFlashMode를 시도했다 : http://iosapi.xamarin.com/index.aspx?link=P%3AMonoTouch.UIKit.UIImagePickerController.CameraFlashMode. 터치 후 플래시 모드 버튼이 무엇을 하든지간에 아무 것도 유지하지 않는 것처럼 보입니다. 나는이 시점에서 붙어있어 나는 장래에 custom overlay로 갈 것이라고 생각한다. –