ios标签栏点击显示模态视图得到黑屏

标签 ios objective-c

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

我目前的方法是将标签栏 Controller 委托(delegate)给标签栏并重写

-(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];
    }
}

问题是,显示的 View 是黑屏,知道如何正确实现吗?

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

最佳答案

更改行:

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

对于这个(如果你的 Storyboard名称是“MainStoryBoard”):

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

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

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

关于ios标签栏点击显示模态视图得到黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24627787/

相关文章:

iphone - 用iPhone App替换Sqlite中单行中的单列值

iphone - iOS:如何让两个 UIView 自动填充空间?

ios - 亚马逊推送通知

ios - iOS sdk 中图像的纵横比问题

ios - 如何在 Xcode 中将 my.sqlite3 导入我的 iPhone 项目

iphone - 多线程和 “just leaking”警告

ios - 是否可以为 UIViewController 的标题设置 UILineBreakMode 或等效项?

iphone - 由于 glGetString 应用程序崩溃

objective-c - UIPasteboard - 无法复制文本

objective-c - 如何将特定混合模式添加到自定义 AccessoryView