Ich arbeite an einer Kontaktdatenbank App. Der Benutzer kann Name, Telefon, E-Mail in UITextFields eingeben und Daten in einer SQLite-Datenbank speichern. Alles funktioniert wie erwartet, aber ich möchte dem Benutzer eine Bestätigung zeigen, wenn die Daten erfolgreich gespeichert wurden. Es wurde eine Statusbeschriftung mit "Gespeichert" implementiert, als der Datensatz in der DB gespeichert wurde, aber ich mag, dass der Text nach einer Sekunde verschwindet.UILabel> Text anzeigen (Datensatz gespeichert) für eine Sekunde, dann löschen UILabel funktioniert nicht
Hoffe, Sie können helfen, ich habe versucht, die sleep()
Funktion direkt nach self.statusLabel.text = @"Saved";
zu implementieren, aber es hat nicht funktioniert. Mit dem Code unter erhalte ich die Statusbezeichnung "Saved", aber diese sollte nach einer Sekunde automatisch verschwinden.
- (IBAction)saveButtonTapped:(id)sender
{
sqlite3_stmt *statement;
const char *dbpath = [databasePath UTF8String];
if (sqlite3_open(dbpath, &timings) == SQLITE_OK)
{
NSString *insertSQL = [NSString stringWithFormat:@"INSERT INTO TIMINGS (time) VALUES (\"%@\")", self.timeLabel.text];
const char *insert_stmt = [insertSQL UTF8String];
sqlite3_prepare_v2(timings, insert_stmt, -1, &statement, NULL);
if (sqlite3_step(statement) == SQLITE_DONE)
{
self.statusLabel.text = @"Saved";
self.timeLabel.text = @"0:00:00";
}
else
{
self.statusLabel.text = @"Failed";
}
sqlite3_finalize(statement);
sqlite3_close(timings);
}
}
eine andere Sache, um zu prüfen, ist UIView + (void) animateWithDuration: (NSTimeInterval) Dauer Verzögerung: (NSTimeInterval) Verzögerung Optionen: (UIViewAnimationOptions) Optionen Animationen: (void (^) (void)) Animationen Abschluss: (void (^) (BOOL beendet)) Abschluss. Der Vorteil ist, dass Sie 1.0sec starten und etwas Cooles machen können, so wie der Text verblasst. – danh
Kommen zu Version 2.0 dann :). Danke für den Tipp. –