UIView layout being reset

2020-01-29 02:09发布

问题:

I am using a storyboard to create the initial state of my view. I then have a button that changes the layout (it expands a UITextView to take up half of the screen).

Whenever I try to alter the text of a label on the screen programatically the UIView is resetting to the storyboard layout.

Is there a method that resets a UIView to its initial state that is causing this to happen? Or any ideas why this is occurring?

回答1:

You have autolayout turned on for your storyboard. The autolayout system will (at various times) set the position and size of every view in your view hierarchy based on the layout constraints in your storyboard.

You can either turn off autolayout in your storyboard, or you can resize the text view by modifying its layout constraints.

If you want to use autolayout and modify the constraints, watch at least the first of these three videos from WWDC 2012:

  • Session 202 - Introduction to Auto Layout for iOS and OS X
  • Session 228 - Best Practices for Mastering Auto Layout
  • Session 232 - Auto Layout by Example