Я использую библиотеку SDWebImage для загрузки изображений для UIImageView в UITableView. Содержание моего Tableview массив инициализируется в viewDidLoad, как показано ниже:Добавление UIImageView в UITableview условно с использованием SDWebImage
- (void)viewDidLoad
{
[super viewDidLoad];
self.myArray [email protected][@"http://i.imgur.com/CUwy8ME.jpg",@"http://i.imgur.com/lQRlubz.jpg",@"AlAhmed",@"Welcome",@"jfhskjh",@"hfyyu",@"lkdjfs",@"mfjsoi",@"jsdkjhdksjh",@"ljsdkfhuhs"];
[self.tableView setRowHeight:100];
[self.tableView reloadData];
}
Моя идея заключается в том, чтобы обнаружить, если URL существует в туАггау и, следовательно, для загрузки изображения в этой ячейке. Мой код работает нормально, но изображения отображаются в других ячейках (я думаю, что повторно использую ячейки), но я не мог решить проблему.
А вот код для Tableview делегата
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Celll";
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UIImageView *imgView=nil;
if(cell == nil)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
imgView = [[UIImageView alloc] initWithFrame:CGRectMake(100,0,100,62)];
[cell.contentView addSubview:imgView];
}
NSError *error;
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:&error];
NSString *myString = [self.myArray objectAtIndex:indexPath.row];
NSArray *matches = [detector matchesInString:myString
options:0
range:NSMakeRange(0, [myString length])];
for (NSTextCheckingResult *match in matches) {
if ([match resultType] == NSTextCheckingTypeLink) {
NSURL *url = [match URL];
[imgView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"120.png"] completed:^(UIImage *image,NSError *error, SDImageCacheType cacheType){
}];
}
}
[ cell.textLabel setText:[self.myArray objectAtIndex:indexPath.row]];
return cell;
}
Пожалуйста, мне нужна ваша большая помощь.
Как вы уже отметили @Putz, вы должны использовать собственный класс TableCell, но добавление subView UIImageView в contentView камеры и извлечение с помощью тега сделают трюк. – chandu