今回は、現在開発で使用している、テーブルビューに関してを書きたいと思います。(自分への勉強も兼ねて・・・)
まずは、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さんです。
今後、このプロジェクトをベースに機能を充実させていき、それをブログに書いていけたらなぁ。と、思います。
(その為には更なる勉強と時間の確保が必要ですが・・・。)
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。