[解決済み] バックグラウンドからアプリを開くとViewDidAppearが呼ばれない
2022-04-21 11:44:43
質問
値が0(ラベル)のView Controllerがあり、そのView Controllerを別の場所から開くと
ViewController
を設定しました。
viewDidAppear
で、ラベルに値20を設定します。 これは問題なく動作しますが、アプリを閉じてからもう一度アプリを開くと、値が変更されないのです。
viewDidLoad
,
viewDidAppear
と
viewWillAppear
は何も呼び出されません。 アプリを開いたときに呼び出すにはどうしたらいいのでしょうか? から何かしなければならないのでしょうか?
applicationDidBecomeActive
?
解決方法は?
正確なイベントのシーケンスに興味があり、以下のようにアプリをインストルメント化しました。 (@Zohaib, あなたは以下のNSNotificationCenterのコードを使って、あなたの質問に答えることができます)。
// AppDelegate.m
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"app will enter foreground");
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"app did become active");
}
// ViewController.m
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"view did load");
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appDidBecomeActive:) name:UIApplicationDidBecomeActiveNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillEnterForeground:) name:UIApplicationWillEnterForegroundNotification object:nil];
}
- (void)appDidBecomeActive:(NSNotification *)notification {
NSLog(@"did become active notification");
}
- (void)appWillEnterForeground:(NSNotification *)notification {
NSLog(@"will enter foreground notification");
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSLog(@"view will appear");
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSLog(@"view did appear");
}
起動時には、次のような出力が得られます。
2013-04-07 09:31:06.505 myapp[15459:11303] view did load
2013-04-07 09:31:06.507 myapp[15459:11303] view will appear
2013-04-07 09:31:06.511 myapp[15459:11303] app did become active
2013-04-07 09:31:06.512 myapp[15459:11303] did become active notification
2013-04-07 09:31:06.517 myapp[15459:11303] view did appear
バックグランドに入り、フォアグランドに戻る。
2013-04-07 09:32:05.923 myapp[15459:11303] app will enter foreground
2013-04-07 09:32:05.924 myapp[15459:11303] will enter foreground notification
2013-04-07 09:32:05.925 myapp[15459:11303] app did become active
2013-04-07 09:32:05.926 myapp[15459:11303] did become active notification
関連
-
[解決済み] -didSelectRowAtIndexPath: 呼び出されていません。
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
-
[解決済み】Xcodeのプロセス起動に失敗しました。セキュリティ
-
[解決済み】UIScrollView Scrollable Content Size Ambiguity
-
[解決済み】アプリがバックグラウンドから戻ってきたときに、viewWillAppearが呼ばれないのはなぜですか?
-
[解決済み】layoutSubviewsはいつ呼び出されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IOS8 Development Guide Error Thread 1: signal SIGABRT
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] iOS7でスタイルUITableViewStyleGroupedを持つUITableViewの上部に余分なパディングがあるのはなぜですか?
-
[解決済み] Objective-Cで文字列が空かどうかをテストするにはどうすればよいですか?
-
[解決済み] iOS 8 UITableViewのセパレータインセット0が機能しない件
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] iphoneアプリのベータテストはどのように行うのですか?
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。
-
[解決済み】アプリがバックグラウンドから戻ってきたときに、viewWillAppearが呼ばれないのはなぜですか?