3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)
  • Q:
    Bijdrager
    Terwanerik

    UILabel wordt niet bewerkt vanuit een method aangeroepen uit een ModalView

    Ik heb een iPad app met een ModalViewController, om precies te zijn een UIModalPresentationFormSheet, hierin staat een UITableView. Als ik een rij selecteer (didSelectRowAtIndexPath) dan stuurt hij de info naar de view erachter (omdat het een FormSheet is). Die info krijg ik binnen via een method:
    De PopOverView.m met de tabel erin:

    <br />
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath<br />
    {</p>
    <p>	SecondViewController *viewController = [[[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil] autorelease];<br />
    	[viewController doTab:indexPath];<br />
    	NSLog(@"Selected Tab: %i", [indexPath row]);<br />
    	[self dismissModalViewControllerAnimated:YES];<br />
    }<br />
     

    Dit werkt prima, de NSLog krijgt hem binnen e.d. en ook de method doTab krijgt hem binnen:

    <br />
    - (void)doTab:(NSIndexPath *)index<br />
    {<br />
    	NSLog(@"INDEX: %i", [index row]);<br />
    	tabTitle.text = @"Selected Tab: %i", [index row];<br />
    }<br />
     

    De NSLog krijg ik hem wel te zien, namelijk 1, 0, 2 ga zo door. Maar de label met de IBOutlet tabTitle veranderd niet. In interface builder zit ook alles goed, want ik kan de text wel in de viewDidLoad e.d. veranderen, maar niet in de doTab method, waarom!?!?!

    Heeft er iemand een idee waarom?

    Bijdrager
    bitsflew

    De fout zit in de volgende regel:

    <br />
    tabTitle.text = @"Selected Tab: %i", [index row];<br />
     

    Dat moet zijn:

    <br />
    tabTitle.text = [NSString stringWithFormat: @"Selected Tab: %i", [index row]];<br />
     
    Bijdrager
    Terwanerik

    Geeft geen verschil, zelfs dit doet het niet:

    <br />
    tabTitle.text = @"DOE HET!!?!?!";<br />
     
3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)

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