0

私の環境、

iOS6
Xcode 4.5.1
application for iOS5 or later

私は2つのViewControllerを使用しています。

FirstViewControllerにはwebViewがあり、SecondViewControllerを呼び出すためにモーダルをセグエします。

[self performSegueWithIdentifier:@"foo" sender:self];

次に、SecondeViewControllerを閉じた後、FirstViewControllerでwebViewをリロードします。これをリロードするにはどうすればよいですか?

SecondViewControllerを閉じるために次のコードを使用します。

[self.parentViewController dismissViewControllerAnimated:YES completion:^{  }];

よろしくお願いします。

4

3 に答える 3

1

あなたは電話する必要があるかもしれません:

[webView reload];

firstViewControllerのviewWillAppearまたはviewDidAppearデリゲートメソッドのような適切な場所で。

次の完了ブロックを介してwebViewをリロードすることもできます。

[self.parentViewController dismissViewControllerAnimated:YES completion:^{ [self.firstViewController.webView reload]; }];

ただし、このためには、完了ブロック(スコープ)でfirstViewControllerのインスタンスを使用できるようにする必要があります。このために、appdelegateまたはその他の方法でfirstViewControllerを宣言できます。また、firstViewControllerのプロパティとしてwebViewを設定する必要があります。

于 2012-10-10T11:02:34.700 に答える
0

UIWebViewreloadあなたが試すかもしれないと呼ばれるメソッドがあります。

完了ブロックからdismissViewControllerAnimated呼び出すことも、最初のコントローラーから呼び出すこともできますviewWillAppear(ただし、この場合、これによって過度のリロードが発生しないことを確認する必要があります)。

于 2012-10-10T10:02:19.020 に答える
0

ビューコントローラ階層の親からレシーバを削除します。

- (void)removeFromParentViewController

あなたはアップルクラスリファレンスに従うことができます これがあなたを助けることを願っています。

于 2012-10-10T10:11:24.410 に答える