title: How do I put a UITableView into a UIView
body: <p>I am trying to put a UITableView into a UIView. The UIView will contain some other stuff as well, so I want to want to define a part of the UIView to be used by the UITableView. Reading on this and other sites, I am using "UIViewController" and delegates "".</p>
  
  <p>My questions are:</p>
  
  <ul>
  <li><p>Why do I not see any UITable with the code below?</p></li>
  <li><p>Why do I see a UITable when I change in InformatieSectieViewController.h</p>
  
  <pre><code>@interface InformatieSectieViewController : UIViewController &lt;UITableViewDataSource, UITableViewDelegate&gt;
  </code></pre>
  
  <p>to</p>
  
  <pre><code>@interface InformatieSectieViewController : UIViewTableController &lt;UITableViewDataSource, UITableViewDelegate&gt;
  </code></pre>
  
  <p>(UIViewController to UI<b>Table</b>ViewController)? (This UITable then takes up the whole UIView).</p></li>
  <li><p>How do I get a UITableView correctly into a UIView.</p></li>
  <li><p>What also surprises me; when I remove the &lt; UITableViewDataSource, UITableViewDelegate> part from @interface InformatieSectieViewController : UIViewController &lt; UITableViewDataSource, UITableViewDelegate>, I would expect a warning on the lines (in InformatieSectieViewController.m):</p>
  
  <pre><code>tabView.delegate = self;
  tabView.dataSource = self;
  </code></pre>
  
  <p>But I do not get this warning.</p></li>
  </ul>
  
  <p>Here is the code I am using:</p>
  
  <p>InformatieSectie.h</p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  @interface InformatieSectie : NSObject
  @property (strong, nonatomic) NSString *header;
  -(UIView*)createInformatieSectie;
  @end
  </code></pre>
  
  <p>InformatieSectie.m</p>
  
  <pre><code>#import "InformatieSectie.h"
  #import "InformatieSectieViewController.h"
  #import &lt;QuartzCore/QuartzCore.h&gt;
  @implementation InformatieSectie
  @synthesize header;
  @synthesize footer;
  -(UIView*)createInformatieSectie{
      UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 200, breedte, hoogte)];
      //(add headerlabel at pos)
      [view addSubview:headerLabel];
  
      InformatieSectieViewController *svc = [[InformatieSectieViewController alloc] init];
  
      [view addSubview:svc.view];
      return view;
  }
  @end
  </code></pre>
  
  <p>And this is the second class where I define the UITableView:</p>
  
  <p>InformatieSectieViewController.h</p>
  
  <pre><code>#import &lt;Foundation/Foundation.h&gt;
  @interface InformatieSectieViewController : UIViewController &lt;UITableViewDataSource, UITableViewDelegate&gt;
  @property (nonatomic, retain) UITableView *tabView;
  @end
  </code></pre>
  
  <p>InformatieSectieViewController.m</p>
  
  <pre><code>#import "InformatieSectieViewController.h"
  #import &lt;QuartzCore/QuartzCore.h&gt;
  @implementation InformatieSectieViewController
  @synthesize tabView;
  
  -(void)loadView {
      tabView = [[UITableView alloc] initWithFrame:CGRectMake(100, 100, 20, 20)];
      tabView.delegate = self;
      tabView.dataSource = self;
      tabView.layer.borderWidth = 10.0;
      tabView.layer.borderColor = [UIColor yellowColor].CGColor;
      self.view = tabView;
      self.view.layer.backgroundColor = [UIColor magentaColor].CGColor;
      [super loadView];     
  }
  
  - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
      return 1;
  }
  
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  {
      return 1;
  }        
  
  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      // (return some cell)
  }
  
  - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
      // (Nothing yet)
  }
  @end
  </code></pre>