视图与故事板之间的转换

时间:2012-01-01 19:31:55

标签: ios view storyboard transition

在我的应用程序中,我有一个标签栏控制器,可启用多个标签。其中一个标签是下图所示的标签:

enter image description here

按“i”按钮,打开第二个视图。按“后退”按钮,再次打开第一个视图。这些转换是使用Storyboard Segues进行的。

问题是,如果我使用模态样式进行Segue,则标签栏会消失。 我的问题是:只有推文样式Segues可用于Tab栏?有没有办法实现Modal过渡并使用Storyboard保持标签栏可见?

提前致谢,yassa

2 个答案:

答案 0 :(得分:0)

这与UINavigationController的情况相同。使用push以外的任何类型的seque都不会保留导航栏或标签栏。 UINavigationController的解决方法是将详细信息视图嵌入其自己的UINavigationController中。如果你考虑一下,这是有道理的。模态序列的目的是向用户呈现一些可操作的,可能是偏离主题的信息。从用户体验理论上讲,通常只提供一些用例。

对于标签栏,在希望标签栏保持可见时使用模态标签并没有多大意义,因为这样可以让用户离开模态视图。话虽如此,您可以尝试使模态视图缩短高度,以便在将标签栏推入堆栈时不会覆盖标签栏。这是未经测试的,但在我看来似乎有可能。

答案 1 :(得分:0)

使用自定义segue执行此操作。

http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomSegues/CreatingCustomSegues.html

并使用pushViewController而不是presentModalViewController。

- (void)perform
{
    // Add your own animation code here.

    [[self sourceViewController] presentModalViewController:[self destinationViewController] animated:NO];
}

更改为

- (void)perform
{
    // Add your own animation code here.

    [self.sourceViewController.navigationController pushViewController:destination animated:NO];
}