ビューに次のコードを追加しました。
- (IBAction)accept_clicked:(id)sender {
[self.view removeFromSuperview];
self.view = nil;
}
同意をクリックすると、このように独自のビューが削除されました。とにかく、このようにしても問題ありませんか、それとも別のビュー(親)から削除する必要がありますか?
ビューに次のコードを追加しました。
- (IBAction)accept_clicked:(id)sender {
[self.view removeFromSuperview];
self.view = nil;
}
同意をクリックすると、このように独自のビューが削除されました。とにかく、このようにしても問題ありませんか、それとも別のビュー(親)から削除する必要がありますか?
これを (で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 +)のいずれかを使用し、