iPhone UITableView Create Sections
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.

    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 && indexPath.row == SectionHeaderURL) {
		if (item.link) {
			[[UIApplication sharedApplication] openURL:[NSURL URLWithString:item.link]];
		}
	}
	
	if (indexPath.section == SectionHeader && 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

Here is a picture for reference:

![Moving tableview sections][1]


  [1]: http://i.stack.imgur.com/WhaA6.png

Thank you for all your help!
iPhone UITableView Create Sections
===

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.

    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 && indexPath.row == SectionHeaderURL) {
		if (item.link) {
			[[UIApplication sharedApplication] openURL:[NSURL URLWithString:item.link]];
		}
	}
	
	if (indexPath.section == SectionHeader && 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

Here is a picture for reference:

![Moving tableview sections][1]


  [1]: http://i.stack.imgur.com/WhaA6.png

Thank you for all your help!