title: Displaying UITableView in proper format
body: <p>I have the following code to fetch the data from URL, store it in arrays, and display it inside the table.
  I had some issue related to fetching and that is solved on SO <a href="https://stackoverflow.com/questions/8470246/populating-uitableview-dynamically">Click here</a> 
  Now the issue is data is displayed in the table in a manner which is not the ideal one.</p>
  
  <p>When I run the below code, I get this output. That shaded grey portion is my main concern.
  When I try to insert any element say button in that grey shaded area through design view, it gets overlapped by table.
  If I change</p>
  
  <p><code>aTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen]applicationFrame] style:UITableViewStyleGrouped];</code></p>
  
  <p>with</p>
  
  <p><code>aTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen]applicationFrame] style:UITableViewStylePlained];</code></p>
  
  <p>I get the table output without the grey shadow but it's way too simple.</p>
  
  <h2>Note that I'm creating table programmatically.</h2>
  
  <p><img src="https://i.imgur.com/qLAtc.png" alt="Screenshot"> 
  <strong>fetchdataViewController.h</strong></p>
  
  <pre><code>#import &lt;UIKit/UIKit.h&gt;
  
  @interface fetchdataViewController : UIViewController&lt;UITableViewDataSource,UITableViewDelegate&gt;{
      IBOutlet UIWebView *webView;
      NSMutableArray *arr1;
      NSMutableArray *atarr;
      NSMutableArray *arr2;
      NSMutableArray *a;
      NSMutableArray *b;
      NSMutableArray *c;
      NSMutableArray *d;
      UITableView *aTableView;
  }
  -(IBAction)btnClicked:(id)sender;
  -(IBAction)btnClicked1:(id)sender;
  -(void)gainer;
  -(void)looser;
  @property(nonatomic,retain)NSMutableArray *arr1;
  @property(nonatomic,retain)NSMutableArray *arr2;
  @property(nonatomic,retain)NSMutableArray *atarr;
  @property(nonatomic,retain)NSMutableArray *a;
  @property(nonatomic,retain)NSMutableArray *b;
  @property(nonatomic,retain)NSMutableArray *c;
  @property(nonatomic,retain)NSMutableArray *d;
  @property(nonatomic,retain)UIWebView *webView;
  @property(nonatomic,retain)UITableView *aTableView;
  @end
  </code></pre>
  
  <p><strong>fetchdataViewController.m</strong></p>
  
  <pre><code>#import "fetchdataViewController.h"
  
  @implementation fetchdataViewController
  
  NSMutableArray *atarr;
  NSMutableArray *arr1;
  NSMutableArray *arr2;
  NSMutableArray *a;
  NSMutableArray *b;
  NSMutableArray *c;
  NSMutableArray *d;
  NSMutableString *mainstr;
  NSMutableString *str;
  @synthesize webView;
  @synthesize arr1;
  @synthesize arr2;
  @synthesize atarr;
  @synthesize a;
  @synthesize b;
  @synthesize c;
  @synthesize d;
  @synthesize aTableView;
  
  int i,j;
  
  - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
      return [a count];
  }
  - (UITableViewCell *)tableView:(UITableView *)tableView 
           cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      static NSString *CellIdentifier=@"Cell"; 
  
      static NSInteger StateTag = 1;
      static NSInteger CapitalTag = 2;
      static NSInteger StateTag1 = 3;
      static NSInteger StateTag2 = 4;
  
  
      UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
      if(cell == nil){
          cell=[[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]autorelease];
          CGRect frame;
          frame.origin.x = 10; 
          frame.origin.y = 5;
          frame.size.height = 35;
          frame.size.width = 170;
  
  
          UILabel *capitalLabel = [[UILabel alloc] initWithFrame:frame];
          capitalLabel.tag = CapitalTag;
          [cell.contentView addSubview:capitalLabel];     
  
          frame.origin.x += 125;
          UILabel *stateLabel = [[UILabel alloc] initWithFrame:frame];
          stateLabel.tag = StateTag;
          [cell.contentView addSubview:stateLabel];
  
          frame.origin.x += 100;
          UILabel *stateLabel1 = [[UILabel alloc] initWithFrame:frame];
          stateLabel1.tag = StateTag1;
          [cell.contentView addSubview:stateLabel1];
  
  
          frame.origin.x += 100;
          UILabel *stateLabel2 = [[UILabel alloc] initWithFrame:frame];
          stateLabel2.tag = StateTag2;
          [cell.contentView addSubview:stateLabel2];
  
  
      }
      UILabel *capitalLabel = (UILabel *) [cell.contentView viewWithTag:CapitalTag];
      UILabel *stateLabel = (UILabel *) [cell.contentView viewWithTag:StateTag];
      UILabel *stateLabel1 = (UILabel *) [cell.contentView viewWithTag:StateTag1];
      UILabel *stateLabel2 = (UILabel *) [cell.contentView viewWithTag:StateTag2];
  
      capitalLabel.text=[a objectAtIndex:indexPath.row];
      stateLabel.text = [b objectAtIndex:indexPath.row];
      stateLabel1.text = [c objectAtIndex:indexPath.row];
      stateLabel2.text = [d objectAtIndex:indexPath.row];
  
  
      return cell;
  }
  
  
  -(IBAction)btnClicked:(id)sender{
      [self gainer];
  }
  
  -(IBAction)btnClicked1:(id)sender {
  
      [self looser];
  }
  
  -(void)gainer{
      arr1=[[NSMutableArray alloc]init];
      arr2=[[NSMutableArray alloc]init];
      a=[[NSMutableArray alloc]init];
      b=[[NSMutableArray alloc]init];
      c=[[NSMutableArray alloc]init];
      d=[[NSMutableArray alloc]init];
  
      NSURL *url=[NSURL URLWithString:@"http://ipad.idealake.com/default.aspx?id=G"];
      NSURLRequest *req=[NSURLRequest requestWithURL:url];
      [webView loadRequest:req];
  
      //storing page data in string
      mainstr=[[NSMutableString alloc] initWithContentsOfURL:url];
      atarr=[mainstr componentsSeparatedByString:@"@"];
  
      NSString *str2;
      NSString *str3;
      for(int i=0; i&lt;[atarr count]-1; i++)
      {
          // NSLog(@"i=:%i",i); 
  
          NSMutableString *str = [atarr objectAtIndex:i];
          if (str!= nil)            
              arr1=[str componentsSeparatedByString:@";"];
              for (int k=0;k&lt;[arr1 count];k++)
              {                
                  str2 = [arr1 objectAtIndex:k];                
                  [arr2 addObject:str2];
                              }
  
  
          }
          else
          {
              //NSLog (@"Nill");
          }
  
      }
      for(int l=0;l&lt;[arr2 count]/4;l++){
          str3=[arr2 objectAtIndex:4*l];
          [a addObject:str3];
  
          str3=[arr2 objectAtIndex:(4*l)+1];
          [b addObject:str3];
  
          str3=[arr2 objectAtIndex:(4*l)+2];
          [c addObject:str3];
  
          str3=[arr2 objectAtIndex:(4*l)+3];
          [d addObject:str3];
      }    
  }
  
  -(void)looser{
  
      arr1=[[NSMutableArray alloc]init];
      arr2=[[NSMutableArray alloc]init];
      a=[[NSMutableArray alloc]init];
      b=[[NSMutableArray alloc]init];
      c=[[NSMutableArray alloc]init];
      d=[[NSMutableArray alloc]init];
  
      NSURL *url=[NSURL URLWithString:@"http://ipad.idealake.com/default.aspx?id=L"];
      NSURLRequest *req=[NSURLRequest requestWithURL:url];
      [webView loadRequest:req];
  
      mainstr=[[NSMutableString alloc] initWithContentsOfURL:url];
      atarr=[mainstr componentsSeparatedByString:@"@"];
  
      NSString *str2;
      NSString *str3;
      for(int i=0; i&lt;[atarr count]-1; i++)
      {
  
          NSMutableString *str = [atarr objectAtIndex:i];
          if (str!= nil)
          {
  
              arr1=[str componentsSeparatedByString:@";"];
              for (int k=0;k&lt;[arr1 count];k++)
              {
  
                  str2 = [arr1 objectAtIndex:k];
                  [arr2 addObject:str2];
              }          
  
          }
          else
          {
              //NSLog (@"Nill");
          }
  
      }
      for(int l=0;l&lt;[arr2 count]/4;l++){
          str3=[arr2 objectAtIndex:4*l];
          [a addObject:str3];
  
          str3=[arr2 objectAtIndex:(4*l)+1];
          [b addObject:str3];
  
          str3=[arr2 objectAtIndex:(4*l)+2];
          [c addObject:str3];
  
          str3=[arr2 objectAtIndex:(4*l)+3];
          [d addObject:str3];
      }
  }
  
  
  - (void)didReceiveMemoryWarning
  {
      [super didReceiveMemoryWarning];
  }
  
  #pragma mark - View lifecycle
  
  - (void)viewDidLoad
  {
      arr1=[[NSMutableArray alloc]init];
      arr2=[[NSMutableArray alloc]init];
      a=[[NSMutableArray alloc]init];
      b=[[NSMutableArray alloc]init];
      c=[[NSMutableArray alloc]init];
      d=[[NSMutableArray alloc]init];
  
      [self gainer];
      [super viewDidLoad];
  
      aTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen]applicationFrame] style:UITableViewStyleGrouped];
      aTableView.dataSource = self;
      aTableView.delegate = self;
      aTableView.frame = CGRectMake(0, 10, 720, 500);
      [self.view addSubview:aTableView];
  
      [super viewDidLoad];
  }
  
  - (void)viewDidUnload
  {
      [super viewDidUnload];
  }
  
  - (void)viewWillAppear:(BOOL)animated
  {
      [super viewWillAppear:animated];
  }
  
  - (void)viewDidAppear:(BOOL)animated
  {
      [super viewDidAppear:animated];
  }
  
  - (void)viewWillDisappear:(BOOL)animated
  {
      [super viewWillDisappear:animated];
  }
  
  - (void)viewDidDisappear:(BOOL)animated
  {
      [super viewDidDisappear:animated];
  }
  
  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  {
      // Return YES for supported orientations
      return YES;
  }
  
  @end
  </code></pre>
  
  <p><strong><em>THANKS IN ADVANCE</em></strong></p>