2014-10-10 3 views
0

У меня есть приложение iOS, написанное на Xamarin. Он построен для 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 (как на тренажере и устройства), но на прошивкой 8 показаны фотографии в одну секунду, чем загрузка экрана отображается.

Что я делаю неправильно? Я не могу найти какую-либо полезную информацию.

ответ

0

В случае, если кто-то будет нуждаться в этом, https://components.xamarin.com/gettingstarted/xamarin.mobile говорит:

Показан MediaPicker в ответ на событие UIActionSheet.Clicked вызовет неожиданное поведение на прошивке 8. Программа должна быть обновлена, чтобы условно использовать UIAlertController с стиль UIAlertControllerStyle.ActionSheet.

Я отредактировал мой код, чтобы использовать UIAlertController, если устройство находится на прошивке 8.

И это работает.

0

У меня была такая же проблема, я просто изменил событие, нажатое на событие, отклоненное для UIActionSheet. EJ.

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

Надеюсь, это поможет.

Смежные вопросы