私は連絡先データベースアプリケーションで作業しています。ユーザーはUITextFieldsに名前、電話、電子メールを入力し、SQLiteデータベースにデータを保存することができます。すべて正常に動作しますが、データが正常に保存されたときにユーザーに確認を表示するのが好きです。レコードがDBに保存されたときに「保存済み」を示すステータスラベルが実装されましたが、1秒後にテキストが消えるのが好きです。UILabel> 2番目のクリアされたUILabelのテキストを表示しました(保存済み)
あなたが助けてくれることを願って、self.statusLabel.text = @"Saved";
の直後にsleep()
機能を実装しようとしましたが、機能しませんでした。 以下のコードでは、ステータスラベルが「Saved」と表示されますが、1秒後に自動的に消えます。
- (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);
}
}
チェックアウトするもう一つの事はあるのUIView +(無効)animateWithDuration:(NSTimeInterval)期間遅延:(NSTimeInterval)遅延オプション:(UIViewAnimationOptions)オプションアニメーション:(無効(^)(無効))アニメーション完了:(void(^)(BOOL終了))完了。メリットは、テキストが消えていくように、1.0秒から始まり、何かクールなことをすることができるということです。 – danh
バージョン2.0になります:)。ヒントをありがとう。 –