[ios][memo]UITableViewControllerのめも。
( iPhone )勉強の一環であります。
実際に実装して間隔つかむ。
#import@interface RootViewController : UITableViewController { NSMutableArray *arrListSection1; NSMutableArray *arrListSection2; } @property (nonatomic, retain) NSMutableArray *arrListSection1; @property (nonatomic, retain) NSMutableArray *arrListSection2; @end
#import "RootViewController.h" @implementation RootViewController @synthesize arrListSection1; @synthesize arrListSection2; - (void)viewDidLoad { [super viewDidLoad]; [self.navigationItem setTitle:@"test table"]; arrListSection1 = [[NSMutableArray alloc] initWithObjects:@"test1",@"test2",@"test3", nil]; arrListSection2 = [[NSMutableArray alloc] initWithObjects:@"test11",@"test22",@"test33", nil]; } - (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]; } //---------------------------------------------------------------- #pragma mark - TableViewController //---------------------------------------------------------------- - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *view = [[UIView alloc] init]; // 背景に画像をセットする view.backgroundColor = [UIColor blackColor]; UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 320.0f, 30.0f)]; //UIImage *bgImage = [UIImage imageNamed:@"icon.png"]; //lbl.backgroundColor = [UIColor colorWithPatternImage: bgImage]; lbl.backgroundColor = [UIColor blackColor]; lbl.textColor = [UIColor whiteColor]; if (section == 0) { lbl.text = @"first section"; } else if (section == 1) { lbl.text = @"second section"; } [view addSubview:lbl]; [lbl release]; return view; } /* - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { NSString *title = nil; if (section == 0) { title = @"first section"; } else if (section == 1) { title = @"second section"; } return title; } */ // Customize the number of sections in the table view. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 2; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSInteger cnt; if (section == 0) { cnt = [arrListSection1 count]; } else if (section == 1) { cnt = [arrListSection2 count]; } return cnt; } // Customize the appearance of table view cells. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; } if (indexPath.section == 0) { NSString *cellValue = [arrListSection1 objectAtIndex:indexPath.row]; cell.textLabel.text = cellValue; NSInteger rowNum = [indexPath row]; if (rowNum == 0) { } else if (rowNum == 1) { } else if (rowNum == 2) { } } if (indexPath.section == 1) { NSString *cellValue = [arrListSection2 objectAtIndex:indexPath.row]; cell.textLabel.text = cellValue; } // Configure the cell. return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSInteger rowNum = [indexPath row]; NSLog(@"selected [sec %d][%d]", indexPath.section, rowNum); } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Relinquish ownership any cached data, images, etc that aren't in use. } - (void)viewDidUnload { [super viewDidUnload]; // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand. // For example: self.myOutlet = nil; } - (void)dealloc { [super dealloc]; } @end
できたものはこんなもの