
The red box is the safe area (plus some padding) of the presented view - which I'm trying to compensate for during animation, using the additionalSafeAreaInsets property of the view controller owning the view.Īs the gif shows, the safe area is properly adjusted during presentation but not during dismissal. It looks like this property is not accounted for when I'm trying to animate the dismissal of the view controller and its view. And it works great! Except when I try to adjust the additionalSafeAreaInsets of the view controller owning the view during dismissal. Im doing this by creating UIViewControllerAnimatedTransitioning-objects that animate the presented view's frame. I've created a custom UIViewControllerTransitioningDelegate that I use to animate a view from one view controller, to full-screen in another view controller. Removing the binding of the old View allows the new View to be correctly bound.

The second time it is called i set the flag to false, and i remove the binding.

Rimworld prepare carefully setup how to#
Once the problem is understood, we need to figure out how to remove the binding of the old view when the view is dettached: well, to do this i used the fact that the VisualElement's Renderer property is set/modified when the element is attached and again when it is detached: The fist time it is called i set the isAttached flag to true. Now the problem is evident: when the ChildItem's AnimationInt property changes (tap on ROTATE RANDOM button) the old ChildItem-AnimatedGrid's Refresh is notified, and then the old View is rotated, but the new ramains unchanged (it does not rotate). When a ChildItem is added again ( remove Filter), a new view is created. When a ChildItem is removed ( do Filter), the old ChildItem-AnimatedGrid's Refresh property remains bound to the ChildItem's AnimationInt property. I believe this is a bug in Xamarin, and in your case i would file an issue in Github (although maybe MAUI will have this corrected.) That's beyond my understanding.ĭisclaimer: it took me a long time to figure out what was going on here, and although i was able to fix the problem, i would not claim that i completely and perfectly understand it. However, for test purpose, i added in the control constructor, a lay followed by an animation call, and this call is working on filtered items. I am still not able to figure what's wrong.

Rimworld prepare carefully setup update#
This does not seems to be an observable collection binding issue, as values inside parent and childs collection still update perfectly find.Ĭhanging CachingStrategy also have no impact on the issue. To be more precise, if parent item got removed from list, and then added again, childs of this parent will never animate again.įiltering the List consist of Removing/Inserting parents to the observable collection (m圜ollection.Remove(item), m圜ollection.Insert(index, item), using Collection methods from framework). Once i filter the list, subsequent call of AnimateItem will have no effect. Everything works fine until i start filtering the list.
