Greetings,
I’m trying to implement a tableview with asynchronously loading images (80px x 60px). I have the async bit working, however my text (cell.textlabel.text) isn’t showing up correctly – it overlaps the image!
Here is a photo of my iPhone:

Any ideas about how I might fix this?
I’ve tried setting a frame with CGRectMake, but it’s not working… All out of ideas here and thought I’d ask the stackoverflow community.
Many thanks in advance,
Here is the code I am using:
-(UITableViewCell ) tableView:(UITableView)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{
static NSString *CellIdentifier = @"ImageCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc]
initWithFrame:CGRectZero reuseIdentifier:CellIdentifier]
autorelease];
} else {
AsyncImageView* oldImage = (AsyncImageView*)
[cell.contentView viewWithTag:999];
[oldImage removeFromSuperview];
}
CGRect frame;
frame.size.width=80; frame.size.height=60;
frame.origin.x=0; frame.origin.y=0;
AsyncImageView* asyncImage = [[[AsyncImageView alloc]
initWithFrame:frame] autorelease];
asyncImage.tag = 999;
NSString *urlStr = [[NSString alloc] initWithFormat:@"http://www.example.com/driverPhotos/%@/%@_80.png",[options objectAtIndex:[indexPath row]],[images objectAtIndex:[indexPath row]]];
NSURL* url=[NSURL URLWithString:urlStr];
[asyncImage loadImageFromURL:url];
[cell.contentView addSubview:asyncImage];
cell.textLabel.frame=CGRectMake(100, 0, 220, 60);
cell.textLabel.text=@"Hi";
return cell;
}
You can’t change the frame’s of any of the default subviews (detailTextLabel, textLabel, imageView, etc) If you really want to then you’ll have to subclass UITableView and override Layout Subviews..
I’d suggest ignoring
cell.textLabeland creating your own UILabel and adding it tocell.contentViewin the same way you are adding yourAsyncImageView(with tags, etc).If you don’t set anything on
cell.textLabelthen it won’t appear and cover up yourAsyncImageView. (however if it does then just bring you AsyncImageView to the front)Btw, if you press the Home button and the lock button at the same time, the iPhone will take a screenshot for you and save it into the photoalbum. Where you can email it to yourself and get it on your PC.