title: Autolayout: Incorrect frame sizes in ViewDidAppear
body: <p>I have a UIViewController for which I'm using Autolayout via IB to position and size its subviews.</p>
  
  <p>For some reason I was not getting the correct UIView layout and I decided to log all the subview sizes in the VC.</p>
  
  <p>I logged subview sizes in:</p>
  
  <pre><code>viewDidLoad{
     self.view.layoutIfNeeded()
     print(uiview.size)
  }
  
  viewDidLayoutSubviews{
   print(uiview.size)
  }
  viewWillAppear{
   print(uiview.size)
  
  }
  viewDidAppear{
   print(uiview.size)
  }
  </code></pre>
  
  <p>the subview sizes are correct in :</p>
  
  <ol>
  <li>viewDidLoad</li>
  <li>viewDidLayoutSubviews</li>
  <li>viewWillAppear</li>
  <li>viewDidLayoutSubviews</li>
  </ol>
  
  <p>but it becomes incorrect in:</p>
  
  <ol start="5">
  <li>viewDidLayoutSubviews</li>
  <li>viewDidAppear</li>
  </ol>
  
  <p>How can I use correct subview sizes from the ViewWillAppear? And why are my sizes incorrect in the final viewDidLayoutSubviews call and in viewDidAppear?</p>