如何以编程方式更改特定 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)
针对您的问题:
- 您可以在 View Controller 之间创建两个 segue,并给出 两个不同的 segue 标识符名称(例如 englishSegue 和 阿拉伯语转义)。
- 为您的 segue 标识符创建一个变量。 (你会用它来 选择应该触发哪个 segue。)
- 在您的 View Controller 中控制您的语言(例如,在您的 viewDidLoad 函数或你应该控制它的地方) 以编程方式将您的语言变量设置为英语或阿拉伯语。
之后,您可以在任何需要的地方触发它。例如在一个 按钮点击:
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/