Web無料相談会2018冬
Web無料相談会2018冬
2010.04.27

tableViewでiPhoneアプリ

鳥よし

今回は、現在開発で使用している、テーブルビューに関してを書きたいと思います。(自分への勉強も兼ねて・・・)

まずは、Navigation-based テンプレートを選択します。
そして、RootViewController.hとRootViewController.mに以下を記述します。
説明に関してはコメント欄に記載しました。

【RootViewController.h】

@interface RootViewController : UITableViewController {
	NSArray *nameList;
	NSArray *dataList;
}
@property (nonatomic, retain) NSArray *nameList;
@property (nonatomic, retain) NSArray *dataList;

@end

【RootViewController.m】

#import "RootViewController.h"


@implementation RootViewController

@synthesize nameList;
@synthesize dataList;


- (void)viewDidLoad {
    [super viewDidLoad];
	
	// タイトル設定
	self.title = @"member";
	// 名前を配列に設定
	self.nameList = [NSArray arrayWithObjects:@"ゴウ", @"はやち", @"まっちー", @"なる", @"そや", nil];
	// 画像名を配列に設定
	self.dataList = [NSArray arrayWithObjects:@"go.jpg", @"hayachi.jpg", @"macchi.jpg", @"naru.jpg", @"zuya.jpg", nil];

}


- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
	// Release anything that can be recreated in viewDidLoad or on demand.
	// e.g. self.myOutlet = nil;
}


#pragma mark Table view methods

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}


// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // 表示セルの数を設定(配列の要素数だけセルを表示する)
	return [self.nameList count];
}


// 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];
    }
    
	// Configure the cell.
	
	// 画像をセルに設定
	cell.imageView.image = [UIImage imageNamed:[self.dataList objectAtIndex:indexPath.row]];
	// 名前をセルに設定
	cell.textLabel.text = [self.nameList objectAtIndex:indexPath.row];
	

    return cell;
}


- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath
{
	// セルの高さ設定
	return 150.0;

}

- (void)dealloc {
    [super dealloc];
}


@end

後は、画像をRootViewController.mに記述した名称の通りに設定してResourceフォルダにドラッグするだけです。

それでは、早速起動してみます。

実行してみると分かるのですが(画像だとわかりにくいのですが。。)、ソースコードにはスクロールに関しての記述を行っていないのにできます。 さすがtableViewさんです。

今後、このプロジェクトをベースに機能を充実させていき、それをブログに書いていけたらなぁ。と、思います。
(その為には更なる勉強と時間の確保が必要ですが・・・。)