title: UITableViewController not automatically scrolling with Keyboard once owning TableView is pushed on the UIViewController's subview
body: <p>I have been playing with <code>UITableView</code> for some time and upon hitting the keyboard and scrolling issue, I decided to solve it by using the <code>UITableViewController</code> and take advantage of the automatically scrolling when the keyboard shows up. Unfortunately, this does not occur for me and I can not figure out why, I have tried many things and give up to ask the community.</p>
  
  <p>Here is what I have so far:</p>
  
  <ol>
  <li>A regular <code>UIViewController</code> handling a <code>UIView</code> (<em>MyView.xib</em>) (this is
  also the root view)</li>
  <li>A regular <code>UITableViewController</code> handling a
  <code>UITableView</code> in a separate <code>XIB</code> file (MyTable.xib)</li>
  <li>A regular <code>UITableViewCell</code> has been dragged into (MyTable.xib) and resides side by side with the <code>UITableView</code>. This <code>UITableViewCell</code> has no custom class. Also there is an outlet connected to <code>UITableViewController</code> class.</li>
  <li>A regular <code>UITextField</code> sits under the <code>UITableViewCell</code></li>
  <li>I have associated the file's owner identity in MyTable.xib to the <code>UITableViewController</code> class</li>
  <li>I have connected the delegate and datasource of the <code>UITableView</code> to the file's owner</li>
  </ol>
  
  <p>This is how it looks in IB in MyTable.xib</p>
  
  <ul>
  <li><code>UITableView</code></li>
  <li><code>UITableViewCell</code>
  <ul>
  <li><code>UITextField</code></li>
  </ul></li>
  </ul>
  
  <p>So when I generate my table rows in the UITableViewController, I dequeue the first 5 rows to be regular cells and for the last row I return my outlet "myCell" (UITableViewCell). This is the one that has the UITextField.</p>
  
  <pre class="lang-cpp prettyprint-override"><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *CellIdentifier = @"Cell";
  
      if (indexPath.row == 5) return myCell;
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
      if (cell == nil) {
          cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
      }
      cell.textLabel.text = [NSString stringWithFormat:@"Test"];
  
      return cell;
  }
  </code></pre>
  
  <p>Finally, in my <code>ViewController</code>'s <code>viewDidLoad</code>, I create an instance of the <code>UITableViewController</code> and display it. It successfully shows the 5 rows and my custom one at the bottom. All in the main view, but ...</p>
  
  <pre class="lang-cpp prettyprint-override"><code>- (void)viewDidLoad
  {
  [super viewDidLoad];
  
  mtc = [[MortgageTableController alloc] initWithNibName:@"MyTable" bundle:nil];
  mtc.view.frame = CGRectMake(0, 44, 320, 375);
  [self.view addSubview:mtc.view];
  }
  </code></pre>
  
  <p>The problem I'm having is, if I click on the <code>UITextField</code>, I don't see the table automatically being scrolled in view. I thought this was one of the advantages of using <code>UITableViewController</code> or I maybe I'm doing something wrong here.</p>
  
  <p>I also tried selecting and/or scrolling the table to the row but with no luck.</p>