0

我正在动态添加 TabBarItem (Email)。当我完成我的电子邮件时,我正在调用“dismissModalViewControllerAnimated”,但它只是关闭邮件视图。如何卸载视图控制器?

在我的电子邮件视图控制器中,我正在执行以下操作:

- (void)viewDidLoad => I would like to unload this view controller
{
    [super viewDidLoad];
    [self showEMail:nil]; => this display and dismisses email (I'm not calling present.. and dismiss... in a row. I'm using delegate methods to present and dismiss, which is fine.)
                              [self presentModalViewController:picker animated:YES];
                              [self dismissModalViewControllerAnimated:YES];

}

选择我的标签栏项目后,它正在加载显示我的邮件模式控制器的视图控制器(可以说是“ABC视图控制器”)。邮件模式控制器被正确解除。但我想在卸载“ABC 视图控制器”后返回之前选择的选项卡项。是否可以?还是我在这里做错了什么?

提前致谢

拉玛

4

2 回答 2

0

拉玛,你的问题很难理解。也许您需要为您呈现的视图控制器使用委托。

在您的代码中,连续调用 [self presentModalViewController...] 和 [self dismissModalViewController...] 没有意义。

您应该首先调用 [self presentModalViewController...],将呈现视图控制器作为委托(例如,picker.delegate = self)

让模态视图控制器执行其业务,包括退出(如用户点击取消、关闭或其他),然后调用委托方法(类似于 [delegate didFinish...] 或 [delegate didCancel...]

现在轮到呈现视图控制器响应委托方法调用了,您可以在此处关闭模态视图控制器

注意:许多 UIKit 类都采用这种模式,例如 UIAlertView、UIActionSheetView、MPMoviePlayerViewController 等。你应该检查它们并制作你自己的

于 2012-04-15T03:02:02.323 回答
0

我通过使用 ViewWiilAppear 方法来显示邮件模式演示者解决了问题。

我在关闭邮件模式演示者后选择标签栏控制器的索引。

self.tabBarController.selectedIndex = 0;

这解决了我的问题。

干杯

于 2012-04-15T12:51:08.567 回答