0

私はiPhoneアプリケーション開発に非常に慣れていません。
あるビューを別のビューから閉じたり削除したりしようとしていますが、うまくいきません。

別のView ControllerからView Controllerを閉じる/削除する方法を教えてください。

との 2 つのビューがAありBます。
ビューは、次のコードを使用して ビューAを開いています。B

ViewBScreenController *mViewB = [[ViewBScreenController alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:mViewB animated:YES];

Bしかし、ビューコントローラーAからビューを閉じることができない方法があります。
どうすればよいですか?

- - アップデート - -

回答で尋ねられたように、ビュー A からビュー B を閉じる必要があるのは、アプリケーション レイヤーの下からビュー コントローラー A にイベントを取得していて、一部のイベントでビュー A からビュー B を閉じたいからです。

また、いくつかのイベントをビュー B に送信してそれ自体を閉じることもできます。

ありがとう。

4

5 に答える 5

1

- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(XXXXX)        name:@"RRRR" object:nil];
}

-(void)XXXXX{

/* any method  you wont */
[self dismissModalViewControllerAnimated:YES];
//////////////////////////

}

BまたはCまたはDなどで....

-(IBAction)Btn:(id)sender{

[[NSNotificationCenter defaultCenter] postNotificationName:@"RRRR" object:nil];

}

それはトリックを行います

于 2012-12-25T16:34:58.657 に答える
0

使用しているメソッドは非推奨です。代わりにこれを使用してください。

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion;  

これにより、
A から B を提示します。A に戻りたい場合は、反対のことを行います。B から A を提示します。
どのように? オブザーバー通知など、いくつかの方法があります。

于 2012-12-25T14:21:25.083 に答える
-1

View Controller プログラミング ガイドに関するこの素晴らしいドキュメントを読んでみてください:

それはあなたのすべての質問に答えます。

于 2012-12-25T13:52:57.047 に答える
-1

あなたは探しているdismissViewControllerAnimated:completion:

ドキュメントは次のとおりです。

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

通常、モーダル ビュー コントローラーを提示したビュー コントローラーでそれを閉じる必要がありますが、それ自体を閉じることもできます。メッセージは、それを提示した VC に自動的に転送されます。私はそれをあまり「魔法のような」方法ではありません:

[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
于 2012-12-25T13:54:17.967 に答える
-1

ユーザーがビュー B にいる場合、なぜビュー A からビュー B を閉じるのでしょうか。クローズ アクションがどこから来ているかは問題ではないので、ビュー B を閉じるアクションが単に入ってくるdismissModalViewControllerとき、単純にビュー B を閉じないでください。入力

 - (IBAction)goBack:(id)sender {
    [self dismissModalViewControllerAnimated:YES];

}

したがって、このコードを使用すると、問題なくモーダル ビュー コントローラーを閉じることができるはずです。また、どちらのビューからも閉じることができますが、ビュー B が存在する場合、ユーザーはボタンを操作したり、ビュー A でアクションを作成したりできません。

于 2012-12-25T13:55:52.227 に答える