title: iPhone UITableView Create Sections
body: <p>I am trying to create more sections in my UITableView and I cannot seem to figure it out. I am looking to move the "View full website" and "Video" links into their own section and change the height of those cells to 75.  I can create a new cell, but I cannot figure out how to position it properly.</p>
  
  <pre><code>    typedef enum { SectionHeader, SectionDetail } Sections;
      typedef enum { SectionHeaderTitle, SectionHeaderDate, SectionHeaderURL,            SectionHeaderEnclosure } HeaderRows;
      typedef enum { SectionDetailSummary } DetailRows;
  
      @implementation MediaDetailTableViewController
  
      @synthesize item, dateString, summaryString, teachings;
  
      #pragma mark -
      #pragma mark Initialization
  
      - (id)initWithStyle:(UITableViewStyle)style {
      if ((self = [super initWithStyle:style])) {
  
      }
      return self;
      }
  
      #pragma mark -
      #pragma mark View lifecycle
  
      - (void)viewDidLoad {
  
      // Super
      [super viewDidLoad];
  
      // Date
      if (item.date) {
          NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
          [formatter setDateStyle:NSDateFormatterMediumStyle];
          [formatter setTimeStyle:NSDateFormatterMediumStyle];
          self.dateString = [formatter stringFromDate:item.date];
          [formatter release];}
      // Summary
      if (item.summary) {
          self.summaryString = [item.summary stringByConvertingHTMLToPlainText];
      } else {
          self.summaryString = @"[No Summary]";
          }
          }
  
      #pragma mark -
      #pragma mark Table view data source
  
      - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
      // Return the number of sections.
      return 2;
      }
  
  
      - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
      // Return the number of rows in the section.
      switch (section) {
          case 0: return 4;
          default: return 1;
      }
          }
  
      // Customize the appearance of table view cells.
      - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  
      // Get cell
      static NSString *CellIdentifier = @"CellA";
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
      if (cell == nil) {
          cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
          cell.selectionStyle = UITableViewCellSelectionStyleNone;
      }
  
      // Display
      cell.textLabel.textColor = [UIColor blackColor];
      cell.textLabel.font = [UIFont systemFontOfSize:15];
      if (item) {
  
          // Item Info
          NSString *itemTitle = item.title ? [item.title stringByConvertingHTMLToPlainText] : @"[No Title]";
  
          // Display
          switch (indexPath.section) {
              case SectionHeader: {
  
                  // Header
                  switch (indexPath.row) {
                      case SectionHeaderTitle:
                          cell.textLabel.font = [UIFont boldSystemFontOfSize:15];
                          cell.textLabel.text = itemTitle;
                          break;
                      case SectionHeaderDate:
                          cell.textLabel.text = dateString ? dateString : @"[No Date]";
                          break;
                      case SectionHeaderURL:
                          cell.textLabel.text = @"View Full Website";
                          cell.textLabel.textColor = [UIColor blackColor];
                          cell.selectionStyle = UITableViewCellSelectionStyleBlue;
                          cell.imageView.image = [UIImage imageNamed:@"Safari.png"];
                          break;
                      case SectionHeaderEnclosure:
                          cell.textLabel.text = @"Video";
                          cell.textLabel.textColor = [UIColor blackColor];
                          cell.selectionStyle = UITableViewCellSelectionStyleBlue;
                          cell.imageView.image = [UIImage imageNamed:@"Video.png"];
                          break;
                  }
                  break;
  
              }
              case SectionDetail: {
  
                  // Summary
                  cell.textLabel.text = summaryString;
                  cell.textLabel.numberOfLines = 0; // Multiline
                  break;
  
              }
          }
      }
  
      return cell;
  
  }
  
      - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
      if (indexPath.section == SectionHeader) {
  
          // Regular
          return 34;
  
      } else {
  
          // Get height of summary
          NSString *summary = @"[No Summary]";
          if (summaryString) summary = summaryString;
          CGSize s = [summary sizeWithFont:[UIFont systemFontOfSize:15] 
                         constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, MAXFLOAT)  // - 40 For cell padding
                             lineBreakMode:UILineBreakModeWordWrap];
          return s.height + 16; // Add padding
  
      }
      }
  
      #pragma mark -
      #pragma mark Table view delegate
  
      - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  
      // Open URL
      if (indexPath.section == SectionHeader &amp;&amp; indexPath.row == SectionHeaderURL) {
          if (item.link) {
              [[UIApplication sharedApplication] openURL:[NSURL URLWithString:item.link]];
          }
      }
  
      if (indexPath.section == SectionHeader &amp;&amp; indexPath.row == SectionHeaderEnclosure) {  
          if (item.enclosures) {  
              for (NSDictionary *dict in item.enclosures){ 
  
                  NSString *baseUrl = @"http://www.calvaryccm.com";
                  NSString *url = [dict objectForKey:@"url"];
                  NSString *finalURL;
                  finalURL = [baseUrl stringByAppendingFormat:url];
                  NSLog(@" finalUrl is : %@",finalURL);
                  NSLog(@" Url is : %@",url);
  
                  MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:finalURL]];
  
  
                  // Register to receive a notification when the movie has finished playing.  
                  //[[NSNotificationCenter defaultCenter] addObserver:self  selector:@selector(moviePlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:moviePlayer];  
  
                  if ([moviePlayer respondsToSelector:@selector(setFullscreen:animated:)]) {  
                      // Use the 3.2 style API  
                      moviePlayer.controlStyle = MPMovieControlStyleDefault;  
                      moviePlayer.shouldAutoplay = YES;  
                      [self.view addSubview:moviePlayer.view];  
                      [moviePlayer setFullscreen:YES animated:YES];  
                  } else {  
                      // Use the 2.0 style API  
                      moviePlayer.movieControlMode = MPMovieControlModeHidden;  
                      [moviePlayer play];  
                  }           
              }  
          }  
      } 
  
      // Deselect
      [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
  
      }
  
      - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
      {
      // Return YES for supported orientations
      return YES;
      }
  
  
      #pragma mark -
      #pragma mark Memory management
  
      - (void)dealloc {
      [dateString release];
      [summaryString release];
      [item release];
      [teachings release];
      [super dealloc];
      }
  
  
      @end
  </code></pre>
  
  <p>Here is a picture for reference:</p>
  
  <p><img src="https://i.stack.imgur.com/WhaA6.png" alt="Moving tableview sections"></p>
  
  <p>Thank you for all your help!</p>