Place .moveDisabled() as last view modifier (or somewhere towards the end of applied modifiers) and then it will work. I have found out this by accident as in my app in some places .moveDisabled() was working while in other places it was not. I guess there's some view modifier that breaks .moveDisabled() if applied after .moveDisabled().