【问题标题】:ios tab bar click to show modal view get a black screenios标签栏点击显示模态视图黑屏
【发布时间】:2014-07-08 09:04:42
【问题描述】:

你好我想实现这个动画效果(使用故事板),当用户点击一个标签栏(比如第二个标签栏项目)时,它会像模态视图一样显示相应的视图(向上显示到屏幕上)

我目前的方法是将标签栏控制器委托给标签栏并重写

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
    NSLog(@"rawr");
    NSLog(@"inside tab bar did select, index is %d", self.selectedIndex);

    if (item == [self.tabBar.items objectAtIndex:1]) {
        //item.title = @"modal view";
        NSLog(@"going to promote as modal view");
        CBTab2ViewController* modalViewController = [[CBTab2ViewController alloc] init];
        [self presentViewController:modalViewController animated:YES completion:nil];
    }
}

问题是,显示的视图是黑屏,不知道如何正确实现?

我的源代码可以在下面的链接中找到: https://www.dropbox.com/s/6rd6ek59xf0yiq4/testtabbar.zip

【问题讨论】:

  • 这是因为你的 CBTab2ViewController 的背景是黑色的。如果您将 CBTab2ViewController 的背景颜色设置为橙色,您将看到橙色屏幕 =)

标签: ios objective-c


【解决方案1】:

换行:

CBTab2ViewController* modalViewController = [[CBTab2ViewController alloc] init];
[self presentViewController:modalViewController animated:YES completion:nil];

到这个(如果你的故事板名称是“MainStoryBoard”):

 UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                         bundle: nil];

CBTab2ViewController * modalViewController = (MyViewController*)[mainStoryboard 
                        instantiateViewControllerWithIdentifier: @"CBTab2ViewController"];

[self presentViewController:modalViewController animated:YES completion:nil];

【讨论】:

  • 太棒了,它显示正确。目前在情节提要中,标签栏控制器和标签栏项目之间存在这种联系,它仍然显示在模态视图之前,您知道如何隐藏默认的标签栏视图吗?让过渡更自然,比如tumblr new post funciton
  • @air_bob 你需要更多帮助吗?
  • 比如tab2视图有这个hello标签,会显示2次,第一次是默认的tab bar行为,第二次是模态视图,我想让它显示为自然模态视图(可能有一个后退按钮来关闭它),用户单击后退按钮返回到上一个标签栏视图
  • @air_bob 所以添加 UINavigationController 来包装你的 UIViewController (CBTab2ViewController)。基本上,你需要创建一个 UITabBarController,每个选项卡都是一个 UINavigationController,这样你就可以为每个选项卡拥有自己的 UIViewController 堆栈。
猜你喜欢
  • 2015-10-29
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
相关资源
最近更新 更多