UITableView を使用して写真フィードを作成しようとしています。テーブルを作成するコードがあり、写真が撮られたときにフィードに表示されますが、画像は表示されません。画像は反抗的にキャプチャされており、UIImageViewを使用して表示すると機能しますが、テーブルに追加しようとすると機能しません。また、空のテーブルの行をクリックすると、 didSelectRow アクションが機能しないことに気付きました。問題がテーブルにあるのか、画像が表示される方法にあるのかわかりません。
テーブルを作成するために使用しているコードは次のとおりです。
tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
tableView.delegate = self;
tableView.dataSource = self;
tableView.separatorColor = [UIColor clearColor];
[self.view addSubview:tableView];
[_tableView release];
[self.tableView release];
テーブルの残りのコードは次のとおりです。
#pragma mark - UITableViewDataSource
// number of section(s), now I assume there is only 1 section
- (NSInteger)numberOfSectionsInTableView:(UITableView *)theTableView
{
return 1;
}
// number of row in the section, I assume there is only 1 row
- (NSInteger)tableView:(UITableView *)theTableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
// if (indexPath.section >= self.objects.count) {
// // Load More Section
// return 320.0f;
// }
//
return 320.0f;
}
// the cell will be returned to the tableView
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellIdentifier = @"HistoryCell";
// Similar to UITableViewCell, but
PhotoCell *cell = (PhotoCell *)[theTableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[PhotoCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
// Just want to test, so I hardcode the data
cell.descriptionLabel.text = @"Testing";
cell.thumbImage = self.thumbImage;
//cell.backgroundView = self.thumbImage;
return cell;
}
#pragma mark - UITableViewDelegate
// when user tap the row, what action you want to perform
- (void)tableView:(UITableView *)theTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
DetailViewController *detailsViewController = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detailsViewController animated:YES];
}
PhotoCell.M は次のとおりです。
#import "PhotoCell.h"
#import "FeedViewController.h"
#import "DetailViewController.h"
@implementation PhotoCell
@synthesize thumbImage = _thumbImage;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// configure control(s)
UIImageView *testView = [[UIImageView alloc] initWithImage:self.thumbImage];
testView.frame = CGRectMake(0, 0, 320, 320);
[self addSubview:testView];
[self bringSubviewToFront:testView];
}
return self;
}
@end