title: UITableViewWrapperView and UITableView size differs with autolayout
body: <p>I am building a chat. Everything seem to be quite ok but I bumped into sort of 'buggy' problem.</p>
  
  <p>i got UIViewController with UITextView bar for entering message and UITableView.
  They are in this constraint: <code>"V:|-(64)-[chatTable][sendMessageBar]-(keyboard)-|"</code>.
  When the keyboard is not out - the constant of this constraint is <code>0</code>. and after keyboard is out - i increase the constant to keyboard height.</p>
  
  <p>when the keyboard is not out:</p>
  
  <pre><code>self.table.contentSize = (375.0,78.5)
  self.table.bounds = (0.0,-490.0,375.0,568.5)
  self.table.frame = (0.0,64.0,375.0,568.5)
  self.table.subviews[0].frame (UITableViewWrapperView) = (0.0,0.0,375.0,568.5)
  self.table.subviews[0].frame (UITableViewWrapperView) = (0.0,0.0,375.0,568.5)
  </code></pre>
  
  <p>and when the keyboard comes out:</p>
  
  <pre><code>self.table.contentSize = (375.0,78.5)
  self.table.bounds = (0.0,-274.0,375.0,352.5
  self.table.frame = (0.0,64.0,375.0,352.5)
  self.table.subviews[0].frame (UITableViewWrapperView) = (0.0,-137.5,375.0,137.5)
  self.table.subviews[0].frame (UITableViewWrapperView) = (0.0,0.0,375.0,137.5)
  </code></pre>
  
  <p>So the UITableViewWrapperView, after I increase constraints constant, differs in size to its superview - UITableView. Is there a way to fix this ? I would assume that <code>UITableViewWrapperView</code> would change its frame and bounds according to <code>UITableView</code> but it does not.</p>
  
  <p>Any ideas where is the problem or how could I work around it ?</p>
  
  <p>ADDING:</p>
  
  <p>After some more research - it seems that it happens somewhere between <code>viewWillLayoutSubviews</code> and <code>viewDidLayoutSubviews</code>. It is kinda weird tho:</p>
  
  <pre><code>override func viewWillLayoutSubviews() {
      println("WrapperView Frame :991: \(self.table.subviews[0].frame)") \\ WrapperView Frame :991: (0.0,0.0,375.0,568.5)
      super.viewWillLayoutSubviews()
      println("WrapperView Frame :992: \(self.table.subviews[0].frame)") \\ WrapperView Frame :992: (0.0,0.0,375.0,568.5)
  }
  
  override func viewDidLayoutSubviews() {
      println("WrapperView Frame :6: \(self.table.subviews[0].frame)") \\ WrapperView Frame :6: (0.0,-137.5,375.0,137.5)
      super.viewDidLayoutSubviews()
      println("&gt;&gt; viewDidLayoutSubviews")
  }
  </code></pre>
  
  <p>So it seems that something happens there that messes up the <code>UITableViewWrapperView</code></p>