7

我有以下问题:

在我的应用程序中,有两种方法可以导航到其他屏幕:通过按钮或标签栏。

所有屏幕都有调用其他屏幕的标签栏,但主屏幕是有按钮但没有标签栏的屏幕。

当我开始开发我的应用程序时,我选择标签栏应用程序模板,如果我通过按标签调用屏幕,它工作正常。当我使用主屏幕时,问题就开始了:

  • 我需要在这个特定屏幕中“隐藏”标签栏。
  • 在主屏幕中,如果我通过按钮调用新屏幕,则标签栏会在新屏幕中消失(有意义,因为屏幕是通过按钮而不是标签栏调用的)。

为了解决这个问题,我认为也许我可以创建一个自定义标签栏(我还不知道如何)并像 UIControl 一样在我的屏幕上调用它,所以如果我需要更改标签栏,修改将是能够在调用该控件的所有屏幕上。

你有什么建议吗?创建自定义标签栏并像 UIControl 一样使用它是个好主意吗?如果是,我该如何创建一个?

我用它来调用窗口

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];
listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:listViewController animated:YES]; 
[listViewController release];
4

2 回答 2

1

您的问题是您将其他视图呈现为“模态”。用这个替换你的代码:

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];            
//listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self.navigationController pushViewController:listViewController animated:YES]; 
[listViewController release];

希望这会有所帮助

于 2012-06-23T06:06:52.420 回答
1

听起来你根本不应该使用标签栏。当您按下其中一个按钮时,标签栏不应消失。把它想象成你的应用程序的主菜单。您可以拥有其他屏幕,例如导航控制器或占据整个屏幕的模式对话框,但是您应该能够退出回到标签栏。

再次考虑用户界面的结构。也许您可以重新安排它以使您的“主屏幕”成为可从其中一个标签栏页面访问的对话框?

于 2012-06-22T18:45:44.220 回答