コード例 #1
0
        async Task <IList <MediaFile> > PickMediaAsync(string title, PHAssetMediaType type)
        {
            mediaPickTcs  = new TaskCompletionSource <IList <MediaFile> >();
            currentPicker = new GMImagePickerController()
            {
                Title      = title,
                MediaTypes = new[] { type }
            };

            currentPicker.FinishedPickingAssets += FinishedPickingAssets;

            var window = UIApplication.SharedApplication.KeyWindow;
            var vc     = window.RootViewController;

            while (vc.PresentedViewController != null)
            {
                vc = vc.PresentedViewController;
            }

            await vc.PresentViewControllerAsync(currentPicker, true);

            var results = await mediaPickTcs.Task;

            currentPicker.FinishedPickingAssets -= FinishedPickingAssets;
            OnMediaPickedCompleted?.Invoke(this, results);
            return(results);
        }
コード例 #2
0
        async Task <IList <MediaModel> > PickMediaAsync(string sTitle, PHAssetMediaType oType)
        {
            _taskCompletionSource = new TaskCompletionSource <IList <MediaModel> >();

            GMPicker = new GMImagePickerController()
            {
                Title      = sTitle,
                MediaTypes = new[] { oType }
            };

            GMPicker.FinishedPickingAssets += FinishedPickingAsync;
            var window = UIApplication.SharedApplication.KeyWindow;
            var vc     = window.RootViewController;

            while (vc.PresentedViewController != null)
            {
                vc = vc.PresentedViewController;
            }
            await vc.PresentViewControllerAsync(GMPicker, true);

            var results = await _taskCompletionSource.Task;

            GMPicker.FinishedPickingAssets -= FinishedPickingAsync;
            OnMediaPickedCompleted?.Invoke(this, results);
            return(results);
        }
コード例 #3
0
		private NSArray ToNSArray(PHAssetMediaType[] managed)
		{
			var mediaTypes = new NSMutableArray ((nuint) _picker.MediaTypes.Length);
			for (int i = 0; i < _picker.MediaTypes.Length; i++) {
				mediaTypes.Add (NSObject.FromObject(_picker.MediaTypes [i]));
			}

			return mediaTypes;
		}
コード例 #4
0
 static MediaTypes ToMediaType(PHAssetMediaType type) => type switch
 {