UIImagePickerController Crashing Monotouch - PullRequest
2 голосов
/ 23 июля 2010

Я пытаюсь написать приложение, но оно постоянно падает при использовании контроллера uiimagepicker.Я думал, что это может быть потому, что я не выбрасывал сборщик после каждого использования, но он часто зависает и при первом запуске.Обычно я делаю снимок, и он просто зависает, никогда не прося «использовать» снимок.Вот мой кодКто-нибудь получил это на работу?

 public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();

        myPicker = new UIImagePickerController();
        myPicker.Delegate = new myPickerDelegate(this);

        myAlbumButton.Clicked += delegate {
                if(UIImagePickerController.IsSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary)){
                    myPicker.SourceType = UIImagePickerControllerSourceType.PhotoLibrary;
                    myPicker.AllowsEditing = true;
                    this.PresentModalViewController (myPicker, true);
                }else{
                Console.WriteLine("cannot get album");  
            }
        };


        myCameraButton.Clicked += delegate {
            if(UIImagePickerController.IsSourceTypeAvailable(UIImagePickerControllerSourceType.Camera)){
                myPicker.SourceType = UIImagePickerControllerSourceType.Camera;
                //myPicker.AllowsEditing = true;
                this.PresentModalViewController (myPicker, true);
            }else{
                Console.WriteLine("cannot get camera"); 
            }

        };

    }


    private class myPickerDelegate : UIImagePickerControllerDelegate
    {
        private TestView _vc;

        public myPickerDelegate ( TestView controller):base()
        {
            _vc = controller;   
        }

        public override void FinishedPickingImage (UIImagePickerController myPicker, UIImage image, NSDictionary editingInfo)
        {
            // TODO: Implement - see: http://go-mono.com/docs/index.aspx?link=T%3aMonoTouch.Foundation.ModelAttribute

            _vc.myImageView.Image = image;
            myPicker.DismissModalViewControllerAnimated(true);
        }
 }

Ответы [ 2 ]

0 голосов
/ 27 февраля 2013

Таким образом, моя проблема была очень похожа.

Вместо того, чтобы иметь класс делегата, у меня были встроенные делегаты для средства выбора.
По какой-то причине приложение зависало каждый раз после разговора изображения, не останавливаясьв любой точке останова после этого.

Решение, которое работало для меня, заключалось в использовании этой книги:

http://www.scribd.com/doc/33770921/Professional-iPhone-Programming-with-MonoTouch-and-NET-C

0 голосов
/ 01 июня 2011

Попробуйте вызвать код обработчиков событий из основного потока с помощью BeginInvokeOnMainThread ().

...