ios - 以编程方式快速更改 segue 标识符名称

标签 ios swift xcode segue

如何以编程方式更改特定 segue 的标识符名称?

我找到了这种方式,但没有与我一起工作:

SWrevealviewcontroller : Switch slideout menu direction from left to right pragmatically

编辑:

我有菜单SWreavealviewcontroller,我希望它在英语语言的情况下从左开始,在阿拉伯语的情况下从右开始。

最佳答案

您不能以编程方式更改 segue 名称。因为 segue 定义了应用程序 Storyboard文件中两个 View Controller 之间的转换,并且您可以在 Storyboard中重命名它。

您可以在 View Controller 之间定义多个 segues 并像这样以编程方式调用 segues:

performSegue(withIdentifier: "yourSegueID", sender: nil)

针对您的问题:

  1. 您可以在 View Controller 之间创建两个 segue,并给出 两个不同的 segue 标识符名称(例如 englishSegue 和 阿拉伯语转义)。
  2. 为您的 segue 标识符创建一个变量。 (你会用它来 选择应该触发哪个 segue。)
  3. 在您的 View Controller 中控制您的语言(例如,在您的 viewDidLoad 函数或你应该控制它的地方) 以编程方式将您的语言变量设置为英语或阿拉伯语。
  4. 之后,您可以在任何需要的地方触发它。例如在一个 按钮点击:

    if (yourIdentifier == "English") {
        performSegue(withIdentifier: "englishSegue", sender: nil)
    } else if (yourIdentifier == "Arabic") {
        performSegue(withIdentifier: "arabicSegue", sender: nil)
    }
    

关于ios - 以编程方式快速更改 segue 标识符名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44157184/

相关文章:

ios - 查找设备内的照片列表

swift - 在 uiimageview 上显示上一张图像

swift - swift 中 == true 和 != false 之间有区别吗?

swift - 数据库引用错误

iphone - 在 UITabBarController 之前显示 XIB?

Xcode Playground : Trying to disable output for specific lines of code

ios - 解析 SDK 查询具有出色的网络连接

ios - 将 NSArray 传递给函数的 Objective-C 错误

ios - 使用 Swift 时 VK SDK 未注册

swift - 如何在 Swift 中使用 Core Animation 制作链式动画?