ios – 从UITabBarController呈现模态
发布时间:2020-12-14 19:28:17 所属栏目:百科 来源:网络整理
导读:与Instagram和其他流行的应用程序类似,我希望我的UITabBarController中的一个按钮将其视图控制器呈现为全屏模式而不是普通标签.我已经使用Storyboards将UITabBarController连接到它的所有子视图控制器,我无法弄清楚如何将一个视图控制器呈现为模态.我在这里
与Instagram和其他流行的应用程序类似,我希望我的UITabBarController中的一个按钮将其视图控制器呈现为全屏模式而不是普通标签.我已经使用Storyboards将UITabBarController连接到它的所有子视图控制器,我无法弄清楚如何将一个视图控制器呈现为模态.我在这里发现了一些其他问题,询问同样的事情,但他们似乎是手动组装标签栏而不是像我一样使用segue.这甚至可能是我这样做的方式吗?
解决方法
tldr – 查看下面的代码.
我从axxixc的方法开始,但遇到了一些问题.我试图通过实现tabBarController来模态显示视图:shouldSelectViewController:UITabBarControllerDelegate.但是,iOS抱怨视图已经在视图层次结构中,一旦你想到它就很明显,因为在IB中使用UITabBarController的全部意义在于iOS处理实例化这些视图.接下来我从它的父母那里删除了视图,并且停止了错误,但这种方法仍然感觉错误和脆弱.它也没有让我能够控制每次模型弹出时是否要重新实例化视图,在我的情况下我做了. 所以我最终做的是,在IB中,将该特定选项卡连接到一个有效充当占位符的空视图控制器.我覆盖相同的tabBarController:shouldSelectViewController:方法并检查视图控制器的标题.如果它与我在IB中设置的虚拟标题相匹配,则在模态显示我自己的视图后,通过返回false来停止标签栏控制器显示虚拟控制器. 这是代码: func tabBarController(tabBarController: UITabBarController!,shouldSelectViewController viewController: UIViewController!) -> Bool { if viewController.title? == DUMMY_POST_VIEW_CONTROLLER_TITLE { let storyboard = UIStoryboard(name: "Main",bundle: nil) let actualController = storyboard.instantiateViewControllerWithIdentifier("ActualViewController") as ActualViewController presentViewController(actualController,animated: true,completion: nil) return false } return true } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 转载:Understanding How PostgreSQL Executes a Query
- c# – 将XML文档作为参数传递给Nhibernate ICriteria?
- ruby-on-rails – 如何实现twitter-text-rb
- pattern 的用法都一样,这里不再啰嗦各种详细写法了,只是列
- AJAX -- 通过JSON完成多形态的数据格式传送
- Cocos-js 之 使用Chipmunk实现碰撞 和 碰撞的监听
- Jaxb – Marshall – 如何格式化xml属性 – 例如,在每个属性
- 如何在Solr中的多个字段上执行嵌套聚合?
- ajax – 是否可以检查jQuery.post()的超时?
- 如何在Ruby中形成“模糊日期”?