AVCamManual.AVCamManualCameraViewController.FocusModeChanged C# (CSharp) Method

FocusModeChanged() private method

private FocusModeChanged ( NSObservedChange obj ) : void
obj NSObservedChange
return void
		void FocusModeChanged (NSObservedChange obj)
		{
			var newValue = obj.NewValue;
			var oldValue = obj.OldValue;

			if (newValue != null && newValue != NSNull.Null) {
				var newMode = (AVCaptureFocusMode)newValue.AsInt ();
				DispatchQueue.MainQueue.DispatchAsync (() => {
					FocusModeControl.SelectedSegment = Array.IndexOf (focusModes, newMode);
					LensPositionSlider.Enabled = (newMode == AVCaptureFocusMode.Locked);

					if (oldValue != null && oldValue != NSNull.Null) {
						var oldMode = (AVCaptureFocusMode)oldValue.AsInt ();
						Console.WriteLine ($"focus mode: {StringFromFocusMode (oldMode)} -> {StringFromFocusMode (newMode)}");
					} else {
						Console.WriteLine ($"focus mode: {StringFromFocusMode (newMode)}");
					}
				});
			}
		}