照片选择器显示在一秒然后消失

时间:2014-10-10 14:38:16

标签: ios xamarin photo picker

我有一个用Xamarin编写的iOS应用程序。它的目标是iOS 7.1。使用SDK 8。 我的代码如下:

var dialog = DialogHelper.ShowProgress(View, "Uploading");
picker.PickPhotoAsync().ContinueWith(t =>
{
  if (t.IsCanceled || t.IsFaulted)
    {
      AppDelegate.FileUploadController.IsWorking = false;
      dialog.Dismiss();
      return;
    }
  MediaFile file = t.Result;
  string filePath = file.Path;
  UploadHelper.UploadFile(filePath, _folderId, temp, dialog);

}, TaskScheduler.FromCurrentSynchronizationContext());

这在iOS 7(模拟器和设备)上运行良好,但在iOS 8照片显示一秒钟,而不是显示加载屏幕。

我做错了什么?我在谷歌上找不到任何有用的信息。

2 个答案:

答案 0 :(得分:0)

如果其他人需要此功能,https://components.xamarin.com/gettingstarted/xamarin.mobile说:

  

显示MediaPicker以响应UIActionSheet.Clicked事件将导致iOS 8上的意外行为。应更新应用程序以有条件地使用UIAlertControllerStyle.ActionSheet样式的UIAlertController。

所以如果设备在iOS 8上,我编辑了我的代码以使用UIAlertController。

它有效。

答案 1 :(得分:0)

我遇到了同样的问题,我只是将点击的事件更改为UIActionSheet解雇的事件。 EJ。

           actionsheet.Dismissed+= delegate(object sender, UIButtonEventArgs b) {
           if(b.ButtonIndex==0){
                useCamera();
            }
            else if(b.ButtonIndex==1){
                useGallery();
            }

希望这有帮助。