0

首先对标题感到抱歉。实际上我不知道如何为这种情况提供适当的标题。

我有一个登录视图。一旦身份验证成功,下一个视图是一个带有四个选项卡的选项卡栏视图。我创建如下:

UIViewController *firstTab = [[SAHomeView_iPad alloc]initWithNibName:@"SAHomeview_iPad" bundle:nil];
         firstTab.tabBarItem.image = [UIImage imageNamed:@"Home.png"];
         UIViewController *secondTab = [[SAMenuView_iPad alloc]initWithNibName:@"SAMenuView_iPad" bundle:nil];
         secondTab.tabBarItem.image = [UIImage imageNamed:@"Menu.png"];
         UIViewController *thirdTab = [[SAGraphView_iPad alloc]initWithNibName:@"SAGraphView_iPad" bundle:nil];
         thirdTab.tabBarItem.image = [UIImage imageNamed:@"Graph.png"];
         UIViewController *fourthTab = [[SAAboutView_iPad alloc]initWithNibName:@"SAAboutView_iPad" bundle:nil];
         fourthTab.tabBarItem.image = [UIImage imageNamed:@"info.png"];
         UITabBarController *tabBarController = [[UITabBarController alloc] init];
         tabBarController.viewControllers = [NSArray arrayWithObjects:firstTab, secondTab,thirdTab,fourthTab, nil];
         SAAppDelegate *delegate = [UIApplication sharedApplication].delegate;
         delegate.window.rootViewController = tabBarController;

现在在第三个选项卡中,我添加了一个日历按钮,按下该按钮将提供一个日历视图。我将此日历视图添加为第三个选项卡中的子视图。

现在,一旦用户登录,主页选项卡中就会有一个日历按钮。一旦用户点击日历按钮,他应该移动到日历视图。这个日历视图实际上是作为子视图添加到第三个选项卡中的。

谁能帮我解决这个问题。提前谢谢了。登录

登录成功后查看 日历视图(在第三个选项卡中添加为子视图)

4

2 回答 2

0

我建议您将日历视图从您的thirdTab 视图层次结构中取出,并将其分配给它自己的自定义viewController,以便它可以在您的应用程序中的任何其他viewController 中以相同的状态呈现。

然后,您可以使用模式故事板 segue 或在代码中使用以下方法调用日历:

[self presentViewController:calendarViewController animation:YES completion:NIL];

并解雇它:

[self.presentingViewController dismissModalViewControllerAnimated:YES];

当您呈现它时,您将失去您的选项卡控制器上下文,因为期望您将返回到呈现它的视图。当您关闭它时,您将使用选项卡栏上下文返回该呈现视图。

于 2013-01-17T05:25:24.857 回答
0

朋友们,我终于这样做了。感谢您的所有帮助。希望这对您也有帮助。:)

- (IBAction)moveToCalendar:(id)sender {
    self.tabBarController.delegate = self;
    self.tabBarController.selectedIndex = 2;
    [(SAGraphView_iPad *)self.tabBarController.selectedViewController calendar:self];
}
于 2013-01-17T10:29:10.547 回答