我的应用程序中有一个UITabBarController。在这个控制器的第一个视图中,我有一个UINavigatioController,用户可以通过这个NavigationController导航到多个视图。在这个控制器的根视图中,我有我的应用程序的前视图或主视图,它有一个信息图标,它将屏幕翻转到信息页面,这是我的appDelegate中的另一个视图。所以我使用appdelegate中的以下代码切换到信息页面。
UIView * controllersView = [aboutUsViewController view];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:window cache:YES];
[self.window addSubview:controllersView];
//[aboutUsViewController animateView];
[self.tabBarController.view removeFromSuperview];
[UIView commitAnimations];
我的问题是,当我翻转时,我看到顶部有一个非常小的白色条。只有从第一个屏幕的主视图到信息页面而不是反之亦然时,才会看到此白条。
我很困惑如何删除此栏,因为我在主视图上覆盖了整个页面的UIImage。
如何解决这个问题。
答案 0 :(得分:2)
如果条形图仅在转换期间可见,则将主窗口的颜色更改为与要转换的视图相同。或者你可以使它完全半透明,也可以这样做。
答案 1 :(得分:0)
我遇到了同样的问题。我认为这是3.1操作系统中的一个错误。提交Apple的错误。我目前的解决方法是使用标准的上滑模式转换。不是最好的解决方案,但至少它看起来并不奇怪。
答案 2 :(得分:0)
您是否尝试在视图控制器上设置wantsFullScreenLayout
?
答案 3 :(得分:0)
我不确定您是否正在显示状态栏,但您可能想要检查您的UIImage大小是否完全位于视图的顶部 - 特别是如果您已将其添加到IB中。另外,尝试将转换中的缓存设置设置为NO,以查看是否有所不同。它使用了更多的资源,但我必须这样做才能阻止文本字段在转换过程中消隐。
答案 4 :(得分:0)
你可能不应该自己做所有这些动画。我不确定你的目标是什么,但是使用名为“pushModalViewController”的东西可能更容易,并且有一个控制器用于你的信息页面,还有一个视图。这可能会解决问题,因为它可能与动画有关。
然后,当您退出信息页面时,控制权将返回导航控制器(这是我认为您想要的)。我希望这会有所帮助。
答案 5 :(得分:0)
我有同样的谜题/谜语/问题:从模态视图切换回来后,底层视图有一个浅蓝色状态栏,显示半秒:
但是,因为我确实采用了这个截图,我意识到它不是状态栏,而是导航栏的一些遥远的部分。我在应用代理中关闭了导航栏,但在这里它仍然是,并且仅在转换期间(在UIModalTransitionStyleFlipHorizontal过渡之后没有蓝色条)
因此我所做的是给它一种半透明的颜色:
self.title = @"";
self.navigationController.navigationBar.tintColor = [UIColor clearColor];
可能不是世界上最好的解决方案,但它不是Apple的错误。
答案 6 :(得分:0)
如果您正在使用ionic2,那么这里是代码 -
let config = {statusbarPadding: false};
ionicBootstrap(MyApp, null, config);
这对我有用!
这里有更多细节 -
ionic2 how to remove white space from status bar from top in iphone