I'm an OS X developer, but I think I can help you since Auto Layout works basically the same way on both platforms. It's perfectly fine to modify constraints anywhere (except in layout() or any similar methods that actually do the layout work). For example, I like to modify constraints in my action methods (you know, like swapping out detail views when the setting of a pop-up button is changed) or in my animation context completion handlers. Or, if you really want to use updateConstraints, just call self.needsUpdateConstraints = true and updateConstraints will be called at the end of the run loop cycle. (This is great for performance because you can set the needsUpdateConstraints as many times as you wish and the actual work will only happen once.)
Topic:
UI Frameworks
SubTopic:
UIKit
Tags: