当presentviewcontroller ios时标签栏控制器显示黑屏

Posted

技术标签:

【中文标题】当presentviewcontroller ios时标签栏控制器显示黑屏【英文标题】:Tabbar Controller shows Black screen when presentviewcontroller ios 【发布时间】:2016-07-26 19:47:01 【问题描述】:

我目前正在开发具有 4 个标签的标签栏应用程序。当我选择其中一个选项卡时,我想要类似于 Instagram 在单击“相机选项卡”时的行为,我通过添加如下代码实现了这一点。但是当我点击标签时;它首先显示黑屏,然后显示下面的视图。如何避免不显示黑屏?

override func tabBar(tabBar: UITabBar, didSelectItem item: UITabBarItem) 
   if item.title == "More" 

        let storyboard = UIStoryboard(name: "Main", bundle: nil);
        let moreView = storyboard.instantiateViewControllerWithIdentifier("moreView") as! MoreView;
        moreView.modalPresentationStyle = UIModalPresentationStyle.FullScreen;
        self.presentViewController(moreView, animated: true, completion: nil)
    
  

【问题讨论】:

【参考方案1】:

试试这个:

var next = self.storyboard?.instantiateViewControllerWithIdentifier("moreView") as!更多查看

代替: let storyboard = UIStoryboard(name: "Main", bundle: nil);

为您正在展示的课程提供背景颜色 self.view.backgroundColor = UIColor.whiteColor()

【讨论】:

还是一样。我也将实现移至 Storyboard,但行为相同。 所以问题是当我选择标签项“更多”时;有一个显示 MoreView 的背景视图。当我取消 moreview 并停留在同一个选项卡上时,我看到有一个黑色背景视图。如果我选择背景为白色;它会使 MoreView 变为白色,但不是背景视图。 刚刚创建了一个演示代码。工作正常。可以分享给我发邮件ID 它仍然无法按照我解释的方式工作......我认为还有另一种方法......

以上是关于当presentviewcontroller ios时标签栏控制器显示黑屏的主要内容,如果未能解决你的问题,请参考以下文章

PresentViewController 在 iOS 中隐藏导航栏

iOS presentViewController:animated:completion:延迟问题

IIViewDeckController 和 presentViewController

iOS 13 presentViewController

PresentViewController iOS 上的 PushView

如何使用 presentViewController 呈现 iOS 键盘扩展