首页 > 解决方案 > 在 swift 中点击 tabbarcontroller 中的另一个选项卡时检查编辑模式条件

问题描述

我是 iOS 开发的新手。我有一些要求。我想在选择另一个选项卡时检查特定条件。

这是 UITabviewController 委托方法代码的一部分。

  func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {

    if(Constants.isEditing!>0){
        showAlert(tabBarController,viewController)
        return false
    }
        return true

在上面的代码中,显示警报将显示带有YesNo按钮的警报对话框。当用户点击 时yes,用户可以切换标签。

例子:

有以下标签。

Search Message Profile Settings

现在我在个人资料部分并编辑我的个人资料。当我单击消息或任何其他选项卡时,它会转到另一个选项卡。即使,我正在编辑我的个人资料。

所以,我输入的所有数据都丢失了。因此,我在 UITabViewController 上放置了一个静态变量,并在用户在编辑配置文件文本字段中键入内容时增加计数。所以,在上面的函数中,你看到,Constants.isEditing > 0意味着,我们应该显示警报对话框,如果用户选择yes按钮意味着,我将 isEditing 设置为 0 并允许用户进入消息或任何其他选项卡。

如果用户选择的No意思是,我们让用户自己在同一个屏幕上。

关于这个要求任何人请帮我解决这个问题。? 帮助将不胜感激。

编辑:

所以,当我点击settings选项卡时,这里的 tabBarController 函数被调用。此功能的实际功能是,要求用户继续settings点击。在这里,我false对系统说并显示警报对话框。

所以,它显示了带有按钮的Yes NoAlertDialog。没关系。但是当用户选择时Yes,我们不能移动到Settings选项卡。因为,我们没有任何Settings 标签点击的引用。所以,它仍然在那个屏幕上。

希望描述解释清楚。如果我错过了什么,请更新我。

标签: swiftxcodeuitabbarcontrollerswift4uitabbaritem

解决方案


推荐阅读