iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   Het redrawen van cellen (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/35377-redrawen-cellen.html)

SkyTrix 11-06-09 19:35

Het redrawen van cellen
 
Hey, ik zit met een probleempje bij m'n UITableView.

Ik heb dus een button op mijn cell's en deze zou ik graag een actie laten doen door erop te klikken. Aangezien je geen paramaters kunt opgeven in een selector, zet ik de tag van de cell naar het indexPath.

Met het reusen van cellen valt dit zwaar tegen (indexen kloppen niet) dus teken ik die button etc buiten de normale structuur:

Code:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        CGRect CellFrame = CGRectMake(0, 0, 300, 60);
        cell = [[[UITableViewCell alloc] initWithFrame:CellFrame reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        cell.accessoryType = UITableViewCellAccessoryNone;
       
        CGRect imageFrame = CGRectMake(10, 10, 77, 76);
        image = [[UIImageView alloc] initWithFrame:imageFrame];
        image.tag = 1;
        image.contentMode = UIViewContentModeScaleAspectFit;
        //image.backgroundColor = [UIColor redColor];
        [cell.contentView addSubview:image];
        [image release];     
    }
       
    image = (UIImageView *)[cell.contentView viewWithTag:1];   
   
    CGRect linkButtonFrame = CGRectMake(290, 4, 30, 30);
    link = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    link.frame = linkButtonFrame;
    link.tag = indexPath.section;
    [link addTarget:nil action:@selector(link:) forControlEvents:UIControlEventTouchUpInside];
    [cell.contentView addSubview:link];

    return cell;

Maar nu wordt die disclosure button nu telkens getekend over een vorige versie? Bij het scrollen wordt het randje telkens zwarter en zwarter..

Heeft iemand een passende oplossing?

Thx!

Whacko 11-06-09 22:43

Misschien helpt het om een custom cell te maken. Die zichzelf helemaal tekent, dus inclusief je link, in plaats van dat je een link over de cell tekent.

SkyTrix 12-06-09 20:36

Citaat:

Oorspronkelijk geplaatst door Whacko (Bericht 294809)
Misschien helpt het om een custom cell te maken. Die zichzelf helemaal tekent, dus inclusief je link, in plaats van dat je een link over de cell tekent.

Thanks, works like a charm :)


Alle tijden zijn GMT +2. Het is nu 16:54.