The -setTabBarHidden:animated: method takes an "animated" parameter. (In fact, there is a wrapper -setTabBarHidden: method whose purpose is to call this method with animated=NO.)
Yet this method does not use the "animated" parameter at all. It always animates.