Label befüllen mit einem String aus einer anderen View

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Label befüllen mit einem String aus einer anderen View

    Hallo zusammen,

    ich tüftle gerade an meinem Programm herum und versuche ein Label mit Text zu versehen. Es sind mehrere Label welche den gleichen Namen haben und jedes von ihnen sollte seinen eigenen Text erhalten. Mein Problem ist, dass wenn ich die "Labels" mit einem String versehe, jedes mal wenn ich den String neu befülle der Text aus den 1 Label verschwindet und im 2 Label auftaucht. Ich arbeite mit Custom Table View Cells und erzeuge immer wieder eine neue Zeile. Ich tue mich relativ schwer das Problem gut zu beschreiben daher hier einmal ein Codeausschnitt:

    Quellcode

    1. - (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    2. static NSString *CellIdentifier = @"Cell";
    3. UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    4. if (cell == nil) {
    5. cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    6. }
    7. // Label um den Namen der Sendung anzuzeigen
    8. TerminplanerAppDelegate* appDelegate = (TerminplanerAppDelegate*)[[UIApplication sharedApplication] delegate];
    9. NSString* sendungString = [dataArray objectAtIndex:indexPath.row];
    10. CGRect sendungenLabelFrame = CGRectMake(5, 13, 150, 20);
    11. UILabel* sendungenLabel = [[[UILabel alloc] initWithFrame:sendungenLabelFrame] autorelease];
    12. sendungenLabel.font = [UIFont boldSystemFontOfSize:15];
    13. sendungenLabel.text = sendungString;
    14. [cell.contentView addSubview:sendungenLabel];
    15. // -
    16. // Label um die Zeit anzuzeigen
    17. CGRect zeitLabelFrame = CGRectMake(5, 35, 100, 10);
    18. UILabel* zeitLabel = [[[UILabel alloc] initWithFrame:zeitLabelFrame] autorelease];
    19. zeitLabel.font = [UIFont boldSystemFontOfSize:11];
    20. // Dort habe ich Probleme, timeHolder hat den ein formatiertes Datum aus einem UIDatePicker von einer View
    21. if ([appDelegate.dataHolderSendung isEqualToString:[dataArray objectAtIndex:indexPath.row]]) {
    22. NSString* holdTime = timeHolder;
    23. zeitLabel.text = holdTime;
    24. }
    25. [cell.contentView addSubview:zeitLabel];
    26. // -
    27. // Label um den Alarm ein und auszuschalten + Label
    28. CGRect alarmLabelFrame = CGRectMake(190, 13, 80, 20);
    29. CGRect alarmSwitchFrame = CGRectMake(240, 10, 0, 0);
    30. UISwitch* alarmSwitch = [[[UISwitch alloc] initWithFrame:alarmSwitchFrame] autorelease];
    31. UILabel* alarmLabel = [[[UILabel alloc] initWithFrame:alarmLabelFrame] autorelease];
    32. alarmSwitch.on = NO;
    33. alarmLabel.font = [UIFont boldSystemFontOfSize:15];
    34. alarmLabel.text = @"Alarm:";
    35. [cell.contentView addSubview:alarmLabel];
    36. [cell.contentView addSubview:alarmSwitch];
    37. // -
    38. return cell;
    39. }
    Alles anzeigen


    Wenn ich nun zum Beispiel in dem Datepicker eine andere Zeit auswähle setze ich timeHolder neu und somit auch das Label, nur wie kann "label1" den Wert behalten und bei Bedarf ändern?

    Vielen Dank schonmal :)

    Gruß