+
+ // clean out all existing subviews
+ NSArray *subviews = [[NSArray alloc] initWithArray:cell.contentView.subviews];
+ for (UIView *subview in subviews) {
+ [subview removeFromSuperview];
+ }
+ [subviews release];
+
+ float cellWidth = cell.contentView.bounds.size.width;
+
+ // add the views
+ UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(VIEW_PADDING, VIEW_PADDING, IMAGE_VIEW_SIDE, CONTENT_HEIGHT)];
+ [imageView setTag:IMAGE_VIEW_TAG];
+ [imageView setAutoresizingMask:UIViewAutoresizingFlexibleRightMargin];
+ [cell.contentView addSubview:imageView];
+ [imageView release];
+
+ UILabel *textView = [[UILabel alloc] initWithFrame:CGRectMake(2*VIEW_PADDING + IMAGE_VIEW_SIDE, VIEW_PADDING, cellWidth - 4*VIEW_PADDING - IMAGE_VIEW_SIDE - DATE_VIEW_WIDTH, CONTENT_HEIGHT)];
+ [textView setTag:TEXT_VIEW_TAG];
+ [textView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
+ [cell.contentView addSubview:textView];
+ [textView release];
+
+ UITextView *dateView = [[UITextView alloc] initWithFrame:CGRectMake(cellWidth - VIEW_PADDING - DATE_VIEW_WIDTH, VIEW_PADDING, DATE_VIEW_WIDTH, CONTENT_HEIGHT)];
+ [dateView setTag:DATE_VIEW_TAG];
+ [dateView setAutoresizingMask:UIViewAutoresizingFlexibleLeftMargin];
+ dateView.font = [UIFont systemFontOfSize:9.0];
+ dateView.textColor = [UIColor grayColor];
+ dateView.textAlignment = UITextAlignmentRight;
+ dateView.editable = NO;
+ [cell.contentView addSubview:dateView];
+ [dateView release];