gpt4 book ai didi

ios - Swift:点击标签栏时关闭模态呈现的 View Controller

转载 作者:行者123 更新时间:2023-11-28 15:08:20 26 4
gpt4 key购买 nike

我有一个带子类的 UITabBarController 的选项卡式应用程序。我的第一个 View Controller 能够以模态方式呈现另一个 View Controller 。

当点击其内容之外的任何内容时,我的模态呈现 View Controller 应该自行关闭。负责的代码如下:

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch : UITouch? = touches.first
if (touch?.view != contentView){
self.dismiss(animated: true, completion: nil)
}
}

如果我点击 View 外的背景,模态呈现的 View Controller 会按预期消失。但是,如果我点击我的标签栏,它不会按预期关闭。

此外,如果我的模态视图 Controller 没有被关闭并且我使用我的标签栏转到另一个 View Controller ,当我返回到我的第一个选项卡时,我会在黑色背景上看到我的模态视图 Controller (换句话说,当我在这种情况下关闭模态视图 Controller 时,剩下的就是黑色空隙和选项卡栏 Controller 。然后我被迫选择另一个选项卡,然后再次选择第一个选项卡以修复它) .

关于如何解决此问题/避免此行为的任何想法?我想知道是否有一种方法可以让我的模态呈现 View 在我的选项卡栏上“拾取”被点击以便它可以自行关闭(或者如果有另一种更好的方法),但是在搜索虽然我还没有找到任何解决方案。

最佳答案

为了关闭模态呈现的 viewController,

您可以在 Tabbar 按钮项上添加一个操作,

然后就使用,

self.dismiss(animated: true, completion: nil)

关于ios - Swift:点击标签栏时关闭模态呈现的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48071189/

26 4 0