swift - 在 swift 中点击 tabbarcontroller 中的另一个选项卡时检查编辑模式条件
问题描述
我是 iOS 开发的新手。我有一些要求。我想在选择另一个选项卡时检查特定条件。
这是 UITabviewController 委托方法代码的一部分。
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if(Constants.isEditing!>0){
showAlert(tabBarController,viewController)
return false
}
return true
在上面的代码中,显示警报将显示带有Yes
和No
按钮的警报对话框。当用户点击 时yes
,用户可以切换标签。
例子:
有以下标签。
Search
Message
Profile
Settings
现在我在个人资料部分并编辑我的个人资料。当我单击消息或任何其他选项卡时,它会转到另一个选项卡。即使,我正在编辑我的个人资料。
所以,我输入的所有数据都丢失了。因此,我在 UITabViewController 上放置了一个静态变量,并在用户在编辑配置文件文本字段中键入内容时增加计数。所以,在上面的函数中,你看到,Constants.isEditing > 0
意味着,我们应该显示警报对话框,如果用户选择yes
按钮意味着,我将 isEditing 设置为 0 并允许用户进入消息或任何其他选项卡。
如果用户选择的No
意思是,我们让用户自己在同一个屏幕上。
关于这个要求任何人请帮我解决这个问题。? 帮助将不胜感激。
编辑:
所以,当我点击settings
选项卡时,这里的 tabBarController 函数被调用。此功能的实际功能是,要求用户继续settings
点击。在这里,我false
对系统说并显示警报对话框。
所以,它显示了带有按钮的Yes
No
AlertDialog。没关系。但是当用户选择时Yes
,我们不能移动到Settings
选项卡。因为,我们没有任何Settings
标签点击的引用。所以,它仍然在那个屏幕上。
希望描述解释清楚。如果我错过了什么,请更新我。
解决方案
推荐阅读
- azure - 发布为 Azure Webjob 在发布时始终强制使用任何 CPU - 即使设置为 x64
- python - 使用python从文本文件中删除行
- c# - 干净地分析和处理整数
- r - 如何在 r markdown 中指定自定义的纸张尺寸
- javascript - 按路径访问嵌套属性
- c - 如何将已声明的 char 字符串作为 unicode 字符读取为十六进制 2 位值?
- database - 集群数据库如何处理 Kubernetes 上出现故障的主节点?
- c++ - 如何将包含程序所有代码的文件夹加载到 Visual Studio Basic 中?
- reactjs - React 本机视频播放和图像覆盖的问题
- python - 如何设置嵌入样式以从特定网页获取其标题、描述和缩略图