关闭模态呈现的视图控制器后切换选项卡栏控制器视图控制器
Switch tab bar controller view controller after dismissing a modally presented view controller
在我的项目中,您可以从模态视图创建 post。
当模态视图被关闭时(用户按下保存 post)我想将标签栏控制器切换到第二个标签(post 提要屏幕)。
这个题目和我的问题类似。唯一的区别是这是从模态视图呈现的。我不知道如何在我的代码中实现它(标签栏为零)
我添加了 3 张图片以使这个问题更清楚
code screenshot
console message
@objc func saveAction(sender: UIButton) {
print ("> save pressed")
print(presentingViewController?.tabBarController)
print(presentingViewController)
presentingViewController?.tabBarController?.selectedIndex = 1
dismiss(animated: true)
}
编辑:抱歉,堆栈溢出不允许我添加图像
您可以使用委托模式来做到这一点。但是如果你不想为此添加委托,你可以如下所示进行;
可以通过更改selectedIndex
属性 of tabBarController
来切换tabbar
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)
在我的项目中,您可以从模态视图创建 post。
当模态视图被关闭时(用户按下保存 post)我想将标签栏控制器切换到第二个标签(post 提要屏幕)。
这个题目和我的问题类似。唯一的区别是这是从模态视图呈现的。我不知道如何在我的代码中实现它(标签栏为零)
我添加了 3 张图片以使这个问题更清楚
code screenshot
console message
@objc func saveAction(sender: UIButton) {
print ("> save pressed")
print(presentingViewController?.tabBarController)
print(presentingViewController)
presentingViewController?.tabBarController?.selectedIndex = 1
dismiss(animated: true)
}
编辑:抱歉,堆栈溢出不允许我添加图像
您可以使用委托模式来做到这一点。但是如果你不想为此添加委托,你可以如下所示进行;
可以通过更改selectedIndex
属性 of 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)