0

ビューに次のコードを追加しました。

- (IBAction)accept_clicked:(id)sender {
    [self.view removeFromSuperview];
    self.view = nil;
}

同意をクリックすると、このように独自のビューが削除されました。とにかく、このようにしても問題ありませんか、それとも別のビュー(親)から削除する必要がありますか?

4

1 に答える 1

1

これを (でself.view) しないでください - 見栄えが悪く、問題を見つけるのが困難になる可能性があります。self.viewに関連付けられたメイン ビューUIViewControllerです。したがって、このビューを画面に表示するには、何らかの方法で表示する必要があります: にプッシュするか、 (IOS5+) またはUINavigationControllerでモーダルに表示します。ビュー コントローラーをインスタンス化してビューを表示し、そのビューを現在のビュー コントローラーのビューに追加することもお勧めできません。-presentViewController:animated:completion:- presentModalViewController:animated:

//Not good
MyViewController *mvc = [[MyViewController alloc] init];
[self.view addSubView:mvc.view];

あなたの特定のケースでは、いくつかの利用規約(または同様のもの)を表示していて、同意ボタンと拒否ボタンがあると思います。最善の解決策は、ビューコントローラーをどこかから提示し、デリゲートメソッドを実装して、提示するビューコントローラーができるようにすることです結果を取得してから、-accept_clicked:メソッドで[self dismissModalViewControllerAnimated:YES]または[self dismissViewControllerAnimated:completion:](IOS5 +)のいずれかを使用し、

于 2012-08-16T10:34:59.573 に答える