swift - 关闭模态呈现的视图控制器后切换标签栏控制器视图控制器
问题描述
在我的项目中,您可以从模态视图创建帖子。
当模式视图被关闭(用户按下保存帖子)时,我想将标签栏控制器切换到第二个标签(帖子提要屏幕)。
这个主题类似于我的问题。唯一的区别是这是从模态视图中呈现的。我不知道如何在我的代码中实现它(标签栏为零) 在 Swift 中以编程方式切换标签栏
我添加了 3 张图片以使这个问题更清楚
@objc func saveAction(sender: UIButton) {
print ("> save pressed")
print(presentingViewController?.tabBarController)
print(presentingViewController)
presentingViewController?.tabBarController?.selectedIndex = 1
dismiss(animated: true)
}
编辑:抱歉堆栈溢出不允许我添加图像
解决方案
您可以使用委托模式来做到这一点。但是,如果您不想为此添加委托,则可以执行如下所示的操作;
selectedIndex
您可以通过更改的属性来切换标签栏tabBarController
if let presenter = presentingViewController as? LibraryViewController {
presenter.tabBarController?.selectedIndex = 1
}
dismiss(animated: true)
如果您在标签栏中的导航控制器上显示模式,请使用:
if let tabBar = presentingViewController as? UITabBarController {
tabBar.selectedIndex = 1
}
dismiss(animated: true)
推荐阅读
- swift - 从 Swift 中的另一个类声明 AppDelegate 推送通知委托?
- reactjs - Font Awesome 图标不会出现在 DOM 中
- javascript - 以不可变的方式更新子组件中父级的状态
- html - 如何将 2 列 div 中的标题和无序列表与 css 对齐
- google-sheets - 在行之间连接具有相同字符的列
- javascript - 在 React 中与 Amplify JS 和 Cognito 集成
- r - 您如何在 Windows 上以差异方式安装软件包?
- java - 如何在 JAVA 非阻塞 I/O (NIO) API 中使用多核?
- javascript - 为什么很少有日期格式在 javascript 中不起作用
- javascript - MongoDB,将新值推送到数组而不复制密钥