Einstellen der dynamischen Höhe für UITableViewCell, in der sich nur ein Bild (variable Höhe) befindet
Ich habe eine UITableView, deren Zellen nur Bilder mit variabler Höhe enthalten. Ich stelle die Zeilenhöhe dynamisch entsprechend dem Bild ein. Es funktioniert nicht perfekt. Die Bilder beim Scrollen überlappen sich manchmal. Hier der Code ...
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return [artistfeeds count];
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell=[self.newsTableView dequeueReusableCellWithIdentifier:@"artistFeedCell"];
UIImageView *imgView=[[UIImageView alloc]initWithImage:((ESArtistFeedObject*)[artistfeeds objectAtIndex:indexPath.section]).image];
[cell.contentView addSubview:imgView];
[cell.contentView sizeToFit];
return cell;
}
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
CGFloat height=((ESArtistFeedObject*)[artistfeeds objectAtIndex:indexPath.section]).image.size.height;
NSLog(@"section: %i, image height: %f",indexPath.section,height);
return height;
}
-(void)artistFeedFound:(NSNotification*)notification
{
//NSLog(@"%@",[notification userInfo]);
artistfeeds=[[NSMutableArray alloc]init];
if([[[[notification userInfo]objectForKey:@"artistfeed"]objectForKey:@"artist"] isKindOfClass:[NSArray class]])
{
for(NSDictionary *tempDict in [[[notification userInfo]objectForKey:@"artistfeed"]objectForKey:@"artist"])
{
ESArtistFeedObject *artistFeed=[[ESArtistFeedObject alloc]init];
artistFeed.name=[tempDict objectForKey:@"name"];
artistFeed.type=[tempDict objectForKey:@"postType"];
artistFeed.desc=[tempDict objectForKey:@"postDesc"];
if(![artistFeed.type isEqualToString:@"photo"])
artistFeed.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://c0364947.cdn2.cloudfiles.rackspacecloud.com/%@",[tempDict objectForKey:@"artist_image"]]]]];
else
artistFeed.image=[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[tempDict objectForKey:@"photo"]]]];
[artistfeeds addObject:artistFeed];
}
}
[self.newsTableView reloadData];
}
Irgendwelche Vorschläge?