ビューが表示されたときにいくつかのビューを更新しようとしているので、自然に viewDidAppear: および viewWillAppear: メソッドを使用していることに気付きました。ただし、これらの方法を使用すると、次の 2 つの問題が発生しました。
- メソッドの 1 つだけを実装すると、私が行おうとしている変更が完全には反映されないため、すべてが機能するように、同じコードで両方のメソッドを実装しました。
- 同じコードで両方のメソッドを実装した後でも、ビューのコンテンツを更新するときに 0.5 ~ 1 秒の遅延があります。
カスタムメイドのテーブルビューコントローラーのコードは次のとおりです。
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.tableView reloadData];
}
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.tableView reloadData];
}
何らかの理由で、テーブル ビューを完全に更新するには reloadData メソッドを 2 回呼び出す必要があります。
カスタムメイドの通常のView Controllerのコードは次のとおりです。
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
navItem.title = @"Name1";
nameLabel.text = @"Name1";
nameField.hidden = YES;
}
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
navItem.title = @"Name1";
nameLabel.text = @"Name1";
nameField.hidden = YES;
}
ありがとうございました!