iOS: Wie kann die DIDFINISHWITHRESULT -Nachricht nach der Anzeige für immer verschwinden?

StackOverflow https://stackoverflow.com/questions/8807576

  •  26-10-2019
  •  | 
  •  

Frage

Ich habe eine E -Mail -Delegate -Methode, die eine Ergebnismeldung anzeigt. Wie kann die Nachricht für immer verschwinden, nachdem die Ergebnismeldung angezeigt wurde, damit sie nicht dort klebt? Hier ist der Codeausschnitt.

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error 
{   
    message.hidden = NO;

    switch (result)
    {
        case MFMailComposeResultCancelled:
            message.text = @"Email canceled";

            break;
        case MFMailComposeResultSaved:
            message.text = @"Email saved";

            break;
        case MFMailComposeResultSent:
            message.text = @"Email sent";

            break;
        case MFMailComposeResultFailed:
            message.text = @"Email failed";

            break;
        default:
            message.text = @"Email not sent";

            break;

    }

    [self dismissModalViewControllerAnimated:YES];

}
War es hilfreich?

Lösung

Klingt so, als ob Sie wahrscheinlich eine wollen NSTimer, etwas wie:

    ...
    [self dismissModalViewControllerAnimated:YES];

    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2.0 ///< Change to number of seconds before `message' will be "cleared"
                                                      target:self 
                                                    selector:@selector(clearMessage) 
                                                    userInfo:nil 
                                                     repeats:NO];
}

- (void)clearMessage {
    message.hidden = YES;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top