2

アプリケーションにUITabBarControllerがあります。

あるタブ、別のUIViewControllerから提示したいと思います。

だから私は書いたViewControllerA(これはtabviewcontrollerのタブです):

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
MyViewController *chooseTemplateController = [storyboard instantiateViewControllerWithIdentifier:@"myController"];
[self.tabBarController presentViewController:myController animated:NO completion:nil];

これはMyViewControllerをうまく示しています。

ただし、どうすればMyViewControllerを閉じることができますか?

私は私が呼ぶ必要がある多くの質問を読みました:

[self.tabBarController dismissViewControllerAnimated:NO completion:nil];

しかし、どこから呼べばいいのでしょうか。MyViewControllerから試しましたが、UITabBarの一部ではないため、self.tabBarControllerはnullです。

AppDelegateからではなくストーリーボードからUiTabBarControllerを初期化しますが、そのままにしておきます。

4

1 に答える 1

6

提示されたviewControllerのpresentingViewControllerプロパティを使用します

Objective-C

[self.presentingViewController  dismissViewControllerAnimated:NO completion:nil];

迅速

presentingViewController?.dismissViewControllerAnimated(false, completion: nil)

この短縮バージョンを使用することもできます(使用することはお勧めしませんが、頻繁に表示されます)

Objective-C

[self dismissViewControllerAnimated:NO completion:nil];

迅速

dismissViewControllerAnimated(false, completion: nil)

提示されたViewControllerの却下を参照してください

于 2013-02-06T15:31:10.953 に答える