Your code works fine; the problem has to be elsewhere.
Make sure that you're not doing any layout work somewhere else that interferes with your translation. If you have set up Autolayout constraints for your button, this could cause the behavior you're seeing. You could disable Autolayout for this UIView
in the File Inspector (at least temporarily) to find out if that's the case.
You might want to consider changing the button's frame instead of applying a transformation.