Изображения ячеек UITableView - PullRequest
2 голосов
/ 16 февраля 2012

Одно из моих приложений имеет свойство изображений в качестве фона Cells в UITableView, хотя во время тестирования все было в порядке, изображения и высота ячейки были точно такими же, как проверено в коде, но когда оно было загружено, я попытался загрузить егонесколько раз через iphone, ipad, ячейка растягивалась, и меры, применяемые во время тестирования, были совершенно другими, изображения вообще не ясны, приложения содержат изображения двух размеров (другой размер сетчатки @ 2x). Я не знаю, в чем дело или чтоотсутствует, я использую XCode 4.2, пожалуйста, совет,

Оцените ваши быстрые ответы, ну, его покупка в приложении содержит много альбомов, каждый из которых находится в ячейке представления с изображением, когдапосле загрузки изображение изменится, и uitableview автоматически обновится, в первую очередь изображения будут установлены в массиве (viewDidLoad)

'

UIImage *awwal = [UIImage imageNamed:@"album-01.png"];
    UIImage *teni = [UIImage imageNamed:@"album-02.png"];
    UIImage *telet = [UIImage imageNamed:@"album-03.png"];
    UIImage *rabee = [UIImage imageNamed:@"album-04.png"];
    UIImage *akhir = [UIImage imageNamed:@"album-05.png"];
    UIImage *ba3do = [UIImage imageNamed:@"album-zaman.png"];
    UIImage *aatiha = [UIImage imageNamed:@"album-tarab.png"];
    UIImage *j3ala = [UIImage imageNamed:@"album-monawaa.png"];

    NSMutableArray *images = [[NSMutableArray alloc] initWithObjects: awwal, teni, telet, rabee, akhir, ba3do, aatiha, j3ala, nil];
 self.AlbumsImages = images;
    [images release];'

, и именно там будет загружен tableView

-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"CellIdentifier";
   // NSLog(@"%@",AlbumsImages);
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }
     NSUInteger row = [indexPath row];
    NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *myPath = [myPathList objectAtIndex:0];
    NSString* storagePath = [myPath stringByAppendingPathComponent:@"purchasedAlbums.plist"];
    NSArray* valueList = [[NSArray alloc] initWithContentsOfFile:storagePath];

    UIImage *change1 = [UIImage imageNamed:@"playalbum-06.png"];
    UIImage *change2 = [UIImage imageNamed:@"playalbum-07.png"];
    UIImage *change3 = [UIImage imageNamed:@"playalbum-08.png"];
    UIImage *change4 = [UIImage imageNamed:@"playalbum-09.png"];
    UIImage *change5 = [UIImage imageNamed:@"playalbum-11.png"];
    UIImage *change6 = [UIImage imageNamed:@"playalbum-12.png"];
    UIImage *change7 = [UIImage imageNamed:@"playalbum-10.png"];
    UIImage *change8 = [UIImage imageNamed:@"playalbum-13.png"];

    int i;
    for (i = 0; i <= [AlbumsImages count]; i++) {


    if ([[valueList objectAtIndex:i+1] intValue]) {
        if (i == 0) {
            [AlbumsImages replaceObjectAtIndex:0 withObject:change1];
        }
        if (i == 1) {
            [AlbumsImages replaceObjectAtIndex:1 withObject:change2];
        }
        if (i == 2) {
            [AlbumsImages replaceObjectAtIndex:2 withObject:change3];
        }
        if (i == 3) {
            [AlbumsImages replaceObjectAtIndex:3 withObject:change4];
        }
        if (i == 4) {
            [AlbumsImages replaceObjectAtIndex:4 withObject:change5];
        }
        if (i == 5) {
            [AlbumsImages replaceObjectAtIndex:5 withObject:change6];
        }
        if (i == 6) {
            [AlbumsImages replaceObjectAtIndex:6 withObject:change7];
        }
        if (i == 7) {
            [AlbumsImages replaceObjectAtIndex:7 withObject:change8];
        }

    }
}
        //cell.textLabel.text = [AlbumsView objectAtIndex:row];
    cell.imageView.image = [AlbumsImages objectAtIndex:row];
    cell.tag=row+1;
    return cell;
}

, где change1,2,3 ..... - замененные изображения, когда альбомы сделаныwnloaded.

1 Ответ

0 голосов
/ 02 апреля 2012

Используйте только имя, а не расширение.

UIImage *change1 = [UIImage imageNamed:@"playalbum-06"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...