Aloha Gemeinde!
Ich habe einen Viewcontroller (A) und einen zweiten (B).
Nun ist es so, dass in A x-Buttons geladen werden, nachdem man einen fixen Button gedrückt hat. Das ganze nimmt eine gewisse Zeit in Anspruch, daher startet mit Button-Tap ein UIProgressView, damit der User weiß, dass er warten soll bis x-Buttons geladen sind.
Drückt der User nun auf einen der vielen neu geladenen Buttons, so öffnet sich B mit entsprechenden Inhalt. B hat den Back-Button, womit der User direkt wieder zurück zu A kommt. Nun ist es so, dass dann auch gleich wieder die Button-Lade-Routine startet, die zuvor in A schon mal ausgelöst wurde. Das ist auch erwünscht. Nur verständlicherweise ladet UIProgressView nicht mehr, vielmehr hängt B erst mal, nachdem der Back-Button gedrück wurde und A erscheint erst, wenn alle Buttons geladen sind. Das ist nicht erwünscht bzw ich würde den User gern mitteilen, dass er kurz warten soll bis A wieder erscheint. Und hier ist das Problem was ich grad nicht lösen kann.
Ich habe folgendes versucht:
Alles anzeigen
Das ganze klappt mit der NSLog meldung wie erwünscht. Also sobald der Back-Button gedrückt wird, erscheint das Log. Das Label allerdings nicht, sondern erst wenn ich von A wieder auf B gehe.
Wo ist hier mein Denkfehler? Hoffe mir kann jemand helfen.
Ich habe einen Viewcontroller (A) und einen zweiten (B).
Nun ist es so, dass in A x-Buttons geladen werden, nachdem man einen fixen Button gedrückt hat. Das ganze nimmt eine gewisse Zeit in Anspruch, daher startet mit Button-Tap ein UIProgressView, damit der User weiß, dass er warten soll bis x-Buttons geladen sind.
Drückt der User nun auf einen der vielen neu geladenen Buttons, so öffnet sich B mit entsprechenden Inhalt. B hat den Back-Button, womit der User direkt wieder zurück zu A kommt. Nun ist es so, dass dann auch gleich wieder die Button-Lade-Routine startet, die zuvor in A schon mal ausgelöst wurde. Das ist auch erwünscht. Nur verständlicherweise ladet UIProgressView nicht mehr, vielmehr hängt B erst mal, nachdem der Back-Button gedrück wurde und A erscheint erst, wenn alle Buttons geladen sind. Das ist nicht erwünscht bzw ich würde den User gern mitteilen, dass er kurz warten soll bis A wieder erscheint. Und hier ist das Problem was ich grad nicht lösen kann.
Ich habe folgendes versucht:
Quellcode
- //weiter oben
- UILabel * hideBackground;
- float width, height;
- -(void)viewWillAppear:(BOOL)animated
- {
- width = [[UIScreen mainScreen] bounds].size.width; //Display Width
- height = [[UIScreen mainScreen] bounds].size.height; //Display-Height
- hideBackground = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, width, height)];
- hideBackground.backgroundColor = [UIColorFromRGB(0xFFEB00) colorWithAlphaComponent:0.9f];
- [hideBackground setTextAlignment:NSTextAlignmentCenter];
- [hideBackground setTextColor:[UIColor blackColor]];
- hideBackground.font = [UIFont fontWithName:@"Arial Rounded MT Bold" size:12];
- hideBackground.text = @"Bitte warten...";
- }
- -(void)willMoveToParentViewController:(UIViewController *) parent
- {
- if(!parent)
- {
- NSLog(@"View B wird nun verlassen.");
- [[self view] addSubview:hideBackground];
- }
- }
Das ganze klappt mit der NSLog meldung wie erwünscht. Also sobald der Back-Button gedrückt wird, erscheint das Log. Das Label allerdings nicht, sondern erst wenn ich von A wieder auf B gehe.
Wo ist hier mein Denkfehler? Hoffe mir kann jemand helfen.
Wenn dir das Leben Scheixxe schenkt, mach 'nen Schokokuchen draus.