7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)
  • Q:
    Anoniem

    iOS/Xcode: veranderen van labels mbv for-loops

    goedenavond,
    Hoe verander ik met mbv for-loops de inhoud van labels? ik heb mijn labels gelabeld volgens: label1_1, label1_2 (…) label15_15

    dit heb ik nu:

     
    int kolommen = 15;
    int rijen = 15;
    for(int r = 1; r <= rijen; r++) {
    //rijen
    for(int k = 1; k <= kolommen; k++) {
    //kolommen
    NSLog(@"plek in tabel: [%d_%d]", r, k);
     
    _label1_1.text = @"1"; //dit werkt
     
    NSString *label = [NSString stringWithFormat:@"label1_1"]; // dit wordt @"label%d_%d", r, k
     
    [label].text = @"2"; // dit werkt niet
     
    }
    }
     
     

    Ik wil dus met 1 function al mijn labels kunnen veranderen van inhoud met aangemaakte variabelen. Deze variabelen hebben dezelfde namen als het label van mijn labels. Hoe doe ik dat?

    alvast bedankt


    Bijdrager
    bitsflew

    Persoonlijk zou ik het niet zo doen, maar je code is wel werkend te krijgen door de labels als property te declareren en de code iets aan te passen.

     
    NSString *labelName  = [NSString stringWithFormat:@"label1_1"]; // dit wordt @"label%d_%d", r, k
     
    UILabel* theLabel = (UILabel*) [self valueForKey: labelName];
     
    theLabel.text = @"2";
     

    Bijdrager
    koen

    Ik weet niet wat je uiteindelijk probeert te maken, maar voor een tabel zou je eens kunnen kijken naar een UICollectionView met een UILabel in elke cel.

    Anoniem

    Yes! heel erg bedankt voor je hulp, bitsflew!

    Bedankt voor de tip, koen. Ik kende die optie niet, maar ik ga hem (in de toekomst) gebruiken:-)


    Bijdrager
    Verwijder

    Het lijkt me handiger om de labels in arrays te stoppen.


    Bijdrager
    bitsflew
    Willemien op 06 maart 2014

    Het lijkt me handiger om de labels in arrays te stoppen.

    225 UILabels aanmaken en deze in een NSArray zetten (of 225 class variabelen zoals the_one dat blijkbaar doet) is niet de juiste aanpak!

    Als die UILabels in een matrix staan dan kun je het beste een UICollectionView gebruiken.


    Bijdrager
    Verwijder

    Sorry, ik bekeek alleen het stukje code.

7 berichten aan het bekijken - 1 tot 7 (van in totaal 7)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.