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/)
-   -   UITableViewCell subview kleur veranderen bij selectie (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/40717-uitableviewcell-subview-kleur-veranderen-selectie.html)

SkyTrix 31-07-09 15:41

UITableViewCell subview kleur veranderen bij selectie
 
Hi

Iedereen heeft het waarschijnlijk al gezien. Bij een standaard UITableViewCell verandert de tekst van zwart naar wit als je de cel selecteert.

Nu hebben mijn cellen subviews:
Code:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
   
    static NSString *CellIdentifier = @"Cell";
   
    UILabel *title;
    UIImageView *logo;
   
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   
    if (cell == nil) {       
        CGRect CellFrame = CGRectMake(0, 0, 300, 60);
        cell = [[[UITableViewCell alloc] initWithFrame:CellFrame reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
       
        CGRect titleFrame = CGRectMake(50, 12, 241, 20);
        title = [[UILabel alloc] initWithFrame:titleFrame];
        title.tag = 1;
        title.font = [UIFont boldSystemFontOfSize:18];
        [cell.contentView addSubview:title];
        [title release];
       
        CGRect logoFrame = CGRectMake(3, 2, 40, 40);
        logo = [[UIImageView alloc] initWithFrame:logoFrame];
        logo.tag = 3;
        logo.contentMode = UIViewContentModeScaleAspectFit;
        [cell.contentView addSubview:logo];
        [logo release];
       
    } else {
       
        title = (UILabel *)[cell.contentView viewWithTag:1];       
        logo = (UIImageView *)[cell.contentView viewWithTag:3];
    }
   
    Iets *eenIets = [array objectAtIndex:indexPath.row];
    title.text = eenIets.eentitel;
    logo.image = [UIImage imageNamed:[NSString stringWithFormat:@"%i.png", eenIets.eennaam]];
   
    return cell;
}

Zoals wel opvalt zie je dat ik nog de oude aanpak gebruik.. Ik gebruik niet de standaard cellen van de SDK. Nu, ik zou ze graag gebruiken, maar mijn afbeeldingen die ik toeken aan cell.imageView.image worden niet geresized en hier wel.. (iemand die weet hoe het wel kan?)

Omdat ik subviews gebruik wordt mijn tekst niet standaard in het wit weergegeven als de cel geselecteerd wordt.. Heeft iemand een idee hoe ik dit kan oplossen?

Bedankt!

wbroek 31-07-09 20:56

Je kunt de stijl die hij gebruikt waneer je een rij selecteerd bepalen met cell.selectionStyle als je deze uitzet maakt hij de tekst niet mee wit geloof ik.

Verder zou je met de functie
Code:

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
de tekst of andere veranderingen zou je hierin kunnen verwerken.

SkyTrix 31-07-09 21:13

In die functie heb ik toch geen pointer naar mijn cel of naar mijn subviews? Verder wil ik het wit niet weg, ik wil het wit ;)

SkyTrix 02-08-09 13:32

Solved!

subview.highlightedTextColor


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