私はいくつかの写真を持っています.私のテーブルビューはそれらをロードし、写真の高さに応じて行の高さを変更します.私の写真のサイズは異なります.
- (void)viewDidLoad
{
NSString *imageName=[kDataArray objectAtIndex:(arc4random()%[kDataArray count])];
UIImageView *importIMG=[[UIImageView alloc]initWithImage:[UIImage imageNamed:imageName]];
//init tablexiewcell
arrayList=[[NSMutableArray alloc] initWithCapacity:kRowsInitSize];
for (NSUInteger i=0; i<kRowsInitSize; i++) {
[arrayList addObject:[kDataArray objectAtIndex:rand()%2]];
}
[TableView setPullToRefreshHandler:^{
NSArray * newRows=[NSArray arrayWithObject:[kDataArray objectAtIndex:rand()%2]];
[self performSelector:@selector(dataDidRefresh:) withObject:newRows afterDelay:3.0];
}];
[super viewDidLoad];
}
#pragma mark- UITableViewDataSource
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
MyCell* cell=[self tableView:tableView cellForRowAtIndexPath:indexPath];
NSLog(@"%f",cell.Pimage.frame.size.height);
return cell.Pimage.frame.size.height;
}
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [arrayList count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
NSString *imageName=[kDataArray objectAtIndex:(arc4random()%[kDataArray count])];
UIImageView *importIMG=[[UIImageView alloc]initWithImage:[UIImage imageNamed:imageName]];
MyCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell==nil) {
cell = [[[MyCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.Pimage=importIMG;
}
return cell;
}
#pragma mark - Private methods
-(void)dataDidRefresh:(NSArray *)data
{
[TableView refreshFinished];
NSIndexSet * indexSet=[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, [data count]) ];
NSLog(@"%d",[data count]);
[arrayList insertObjects:data atIndexes:indexSet];
NSMutableArray * indexPaths=[[NSMutableArray alloc] initWithCapacity:[data count]];
for (NSUInteger i=0; i<[data count]; i++)
{
[indexPaths addObject:[NSIndexPath indexPathForRow:i inSection:0]];
}
[TableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
[indexPaths release];
}
これらのコードを書きましたが、目標を達成できませんでした。どうすればコーディングできますか?助けてください!!!