Показать изображение в виде таблицы внутри uitbaleviewcell - PullRequest
0 голосов
/ 12 октября 2011

Ниже приведен код, который я использую для отображения изображения в виде таблицы и его имени. Однако он работает нормально, когда в папке много изображений, приложение вылетает. Любая помощь очень ценится.

NSString *CellIdentifier = @"DocumentList";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


if (cell == nil) 
{
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                   reuseIdentifier:CellIdentifier] autorelease];

}

   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *bundleRoot = [paths objectAtIndex:0];

    NSString *dataPath = [bundleRoot stringByAppendingPathComponent:[NSString stringWithFormat:@"%d", 1]];
    NSString *imagePath = [NSString stringWithFormat:@"%@/%@", dataPath, [itsDocumentNamesArray objectAtIndex:indexPath.row]];

    [cell.imageView setImage:[[[UIImage alloc] initWithContentsOfFile:imagePath] autorelease]];
    cell.textLabel.text = [itsDocumentNamesArray objectAtIndex:indexPath.row];
    cell.textLabel.font = [UIFont systemFontOfSize:15.0];
    cell.textLabel.textColor = [UIColor grayColor];

1 Ответ

0 голосов
/ 20 октября 2011
    UIImageView *temp=[[UIImageView alloc]initWithFrame:CGRectMake(10, 5, 60, 60)]; //40 
    temp.clipsToBounds=YES;
    temp.tag=10;
    temp.userInteractionEnabled=YES;
    temp.layer.cornerRadius=8.0;
    [cell.contentView addSubview:temp];
    [temp release];

Расположите вышеуказанную часть внутри блока == nil, а следующий фрагмент кода снаружи ...

    UIImageView *temp=(UIImageView*)[cell.contentView viewWithTag:10];
    NSArray *sysPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
    NSString *docDirectory = [sysPaths objectAtIndex:0];
    NSString *filePath = [NSString stringWithFormat:@"%@/%@", docDirectory,[tableData objectAtIndex:indexPath.row]];
    UIImage *cellImage=[UIImage imageWithContentsOfFile:filePath];
    temp.image=cellImage;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...