Thanks for your help. By the way, I really enjoyed your seminar the other day on Styling your iOS apps.
Gerry On Jul 1, 2012, at 4:17 PM, Nic Wise <[email protected]> wrote: > 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
