你好我想实现这个动画效果(使用 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/