migueldeicaza / MonoTouch.Dialog

Tools to simplify creating dialogs with the user using MonoTouch
MIT License
430 stars 211 forks source link

iOS 8 issue with Section Footer and Root.Reload() #227

Open bdn-mca opened 9 years ago

bdn-mca commented 9 years ago

Hi,

I like using MonoTouch.Dialog in my apps, and it has been great until one issue appeared in iOS 8. I have a few places in my app where i have Boolean Element in a Section, and when the user switches it, the Footer of the Section changes. Up to now, I've been doing it like this:

...
InvokeOnMainThread(() =>
{
       if (quickScanSection != null)
       {
            quickScanSection.Footer = quickScanElement.Value ? DefaultsFooter : string.Empty;
            this.Root.Reload(quickScanSection, UITableViewRowAnimation.Fade);
       }
});
...

However, since iOS 8, the application hangs on Root.Reload(). It doesn't crash or throw an exception, it just hangs, both on device and simulator.

Strange thing is that I have Root.Reload() on other places, where I'm changing values, titles etc. and it's working as expected, it only hangs if I try to change the section footer, and reload then.

ggirard07 commented 9 years ago

Just hitting the same issue for customers since they have updated to iOS 8 (still same app binary from app store compiled months ago). It happens every time we edit the dvc.Root element by adding/removing section once the dvc appeared.

The issue seems to be related to animations as when I set UIView.AnimationsEnabled = false the app does not hang.