AH! yes, that'll do it :) Glad you got it worked out
Cheers Nic On Sun, Jul 1, 2012 at 8:32 PM, Gerry High <[email protected]> wrote: > Not easily at the moment. > > However, thanks to your suggestion of trying to create the sheet every time > I've figured out the error (on my part). > > In my code I had > > if (sheet == null) > { > create it, etc. > } > sheet.Click +=…. > > The Clicked handler was getting += each time through that the user clicked on > the add photo button. Thus it was calling it twice which explains why it was > complaining about the active controller as the Image Picker was being > displayed twice. > > The sheet.Clicked += should have been inside the if (){} block. :) > > Thanks, > Gerry > > On Jul 1, 2012, at 2:06 PM, Nic Wise <[email protected]> wrote: > >> Hrmmm... are you able to try it on the normal version? Might be a >> MonoTouch-not-yet-on-the-beta-of-ios type issue :) >> >> >> >> On Sun, Jul 1, 2012 at 8:03 PM, Gerry High <[email protected]> wrote: >>> It fails on the second time in displaying the Image Picker. >>> >>> I should note that this occurs on the Simulator running iOS [redacted]. >>> >>> Gerry >>> >>> On Jul 1, 2012, at 1:19 PM, Nic Wise <[email protected]> wrote: >>> >>>> Well, the Clicked method (and other events) are just using an internal >>>> delegate. >>>> >>>> Does it not work at all? or only on the second call? >>>> >>>> try taking out the if (sheet == null) bit, and recreate it each time. >>>> >>>> >>>> >>>> On Sun, Jul 1, 2012 at 6:50 PM, Gerry High <[email protected]> wrote: >>>>> I do not recreate it each time as it is stored in a class variable. So I >>>>> do a check of >>>>> >>>>> if (sheet == null) >>>>> { >>>>> create it here >>>>> } >>>>> sheet.Clicked += TakePhoto(); >>>>> sheet.ShowInView(this.View); >>>>> >>>>> In my clicked handler I then create the image picker and have tried quite >>>>> a few variations on PresentModalViewControllerAnimated (this, >>>>> navigationcontroller, root, etc.) as well as the recommended >>>>> PresentViewController with a completed handler. >>>>> >>>>> The only way I got it to work was to comment out the Clicked handler and >>>>> instead set a delegate which implements the Dismissed method (e.g. >>>>> sheet.Delegate = new MySheetDelegate();) >>>>> >>>>> Thanks, >>>>> Gerry >>>>> >>>>> On Jul 1, 2012, at 12:00 PM, Nic Wise <[email protected]> wrote: >>>>> >>>>>> Could it be that you are not recreating the ActionSheet each time? I >>>>>> have a load of working code around this, eg >>>>>> >>>>>> https://gist.github.com/3028960 >>>>>> >>>>>> parentview, in this case, is the dialogviewcontroller that the user >>>>>> was looking at when they hit the button. >>>>>> >>>>>> >>>>>> >>>>>> On Sun, Jul 1, 2012 at 3:03 PM, Gerry High <[email protected]> wrote: >>>>>>> I sent this yesterday to the list but then never saw it posted so am >>>>>>> resending it. >>>>>>> ===== >>>>>>> I noticed an issue in using an UIActionSheet in combination with a >>>>>>> UIImagePickerController and thought I'd shared what I've seen and a >>>>>>> work around. I ported some working code from Xcode to MonoTouch and >>>>>>> got a crash with "Application tried to present modally an active >>>>>>> controller". The use case is a UIActionSheet displaying 2-3 buttons >>>>>>> and then from the UIActionSheet.Clicked event displaying a >>>>>>> UIImagePickerController. >>>>>>> >>>>>>> On the first call from the ActionSheet to the ImagePicker it works fine >>>>>>> all the way through the cancel from the image picker. However, the >>>>>>> second time I make the call it fails when trying to display the >>>>>>> UIImagePickerController with the above mentioned error. >>>>>>> >>>>>>> One thing I did in comparing my Xcode vs MT code is that I was using >>>>>>> the Clicked event on the action sheet vs the action sheet delegate >>>>>>> method didDismissWithButtonIndex. I decided to write a simple delegate >>>>>>> class and override the Dismissed method. Now my code works with no >>>>>>> errors. >>>>>>> >>>>>>> Is there a difference in how the delegate Dismissed method works vs the >>>>>>> Clicked event? You would think they'd behave the same but it appears >>>>>>> that they do not. >>>>>>> >>>>>>> Thanks. >>>>>>> Gerry >>>>>>> _______________________________________________ >>>>>>> MonoTouch mailing list >>>>>>> [email protected] >>>>>>> http://lists.ximian.com/mailman/listinfo/monotouch >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Nic Wise >>>>>> t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise >>>>>> b. http://www.fastchicken.co.nz/ >>>>>> >>>>>> Earnest: Self-employed? Track your business expenses and income. >>>>>> http://earnestapp.com >>>>>> Nearest Bus: find when the next bus is coming to your stop. >>>>>> http://goo.gl/Vcz1p >>>>>> mobileAgent (for FreeAgent): get your accounts in your pocket. >>>>>> http://goo.gl/IuBU >>>>>> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa >>>>>> London Bike App: Find the nearest Boris Bike, and get riding! >>>>>> http://goo.gl/Icp2 >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Nic Wise >>>> t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise >>>> b. http://www.fastchicken.co.nz/ >>>> >>>> Earnest: Self-employed? Track your business expenses and income. >>>> http://earnestapp.com >>>> Nearest Bus: find when the next bus is coming to your stop. >>>> http://goo.gl/Vcz1p >>>> mobileAgent (for FreeAgent): get your accounts in your pocket. >>>> http://goo.gl/IuBU >>>> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa >>>> London Bike App: Find the nearest Boris Bike, and get riding! >>>> http://goo.gl/Icp2 >>> >>> >> >> >> >> -- >> Nic Wise >> t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise >> b. http://www.fastchicken.co.nz/ >> >> Earnest: Self-employed? Track your business expenses and income. >> http://earnestapp.com >> Nearest Bus: find when the next bus is coming to your stop. >> http://goo.gl/Vcz1p >> mobileAgent (for FreeAgent): get your accounts in your pocket. >> http://goo.gl/IuBU >> Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa >> London Bike App: Find the nearest Boris Bike, and get riding! >> http://goo.gl/Icp2 > > -- Nic Wise t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise b. http://www.fastchicken.co.nz/ Earnest: Self-employed? Track your business expenses and income. http://earnestapp.com Nearest Bus: find when the next bus is coming to your stop. http://goo.gl/Vcz1p mobileAgent (for FreeAgent): get your accounts in your pocket. http://goo.gl/IuBU Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa London Bike App: Find the nearest Boris Bike, and get riding! http://goo.gl/Icp2 _______________________________________________ MonoTouch mailing list [email protected] http://lists.ximian.com/mailman/listinfo/monotouch
