1

同期 Web サービスと定期的に同期する iPhone アプリケーションを作成しています。すべて正常に動作しますが、残念ながら同期後、ユーザーが以前にアクセスした場合、ビューに変更が表示されません。

一部のビューを強制的に再読み込み/更新する必要があります。たとえば、viewWillAppear メソッドを使用してそれを行うにはどうすればよいですか?

ビューコントローラーの1つで次のようなことを試しました:

-(void) viewWillAppear:(BOOL)animated   
{
        NSArray* sbw = [self.view subviews];

        UIView* view;
        for (view in sbw) 
        {
            [view setNeedsDisplay];
        }

        [self.view setNeedsDisplay];
        [super viewWillAppear];

    }

ただし、サブビューは更新されません。ビューの再読み込み/更新を強制する方法はありますか?

このビューに移動すると viewWillAppear が実行されることはわかっていますが、更新されていません。

4

2 に答える 2

1

「viewWillAppear」メソッドを記述して、データベースからデータを取得するコードを再読み込みすることができます。このメソッドは、ビューの読み込みが開始されるたびに実行されます。

于 2011-01-13T06:57:59.677 に答える
1

[tableView reloadData];テーブルビューでは、 : を使用してテーブルのコンテンツをリロードできます。ビューのコンテンツを更新したいだけなら、それを変更するだけです。ビュークラスとコントローラークラスがMyUIViewあり、コントローラー内のラベルテキストを次のように変更できるMyUIViewControllerMyUIViewします 。UILabel * myLabel

[((MyUIView *)self.view).myLabel setText:@"This is a new text."];

したがって、更新を強制する必要はありません。

于 2010-08-03T12:41:20.173 に答える