gpt4 book ai didi

ios - 多个 segues 到同一个 View Controller

转载 作者:搜寻专家 更新时间:2023-10-30 23:00:12 24 4
gpt4 key购买 nike

我真的是编码新手,所以如果这很愚蠢,请温和 :P。

我试图通过快速编码实现的是拥有 2 个 View Controller ,它们可以根据发送的 segue 传递数据。

VC1 设置有 2 个标签和 2 个按钮。标签 1 是玩家 1 的名字,标签 2 是玩家 2 的名字。按钮 1 用于从 VC2 中的全局名称列表中选择播放器 1,按钮 2 与播放器 2 相同

VC2 有一个选择器 View ,其中设置了一个名称列表和一个用于“选择”在 pickerView 中选择的名称的按钮。

我知道如何设置所有按钮、选择器和标签,甚至知道如何使用 prepareForSegue 发送回数据,但是我不知道如何告诉 VC2“选择”按钮发送它根据在 VC1 中选择的按钮选择 playerOneSegue 或 playerTwoSegue。

任何帮助将不胜感激,如果这很愚蠢,我再次感到抱歉,但我已经被困了一段时间,无法在网上找到任何帮助。我什至不确定这是否是我应该这样做的方式。一半的我想为每个按钮设置一个警报,甚至不跳转到另一个 VC,但另一部分想弄清楚如何做到这一点,因为我确信一定有办法,哈哈。

最佳答案

如果你有两个到同一个 VC 的 segue,你可以给每个 segue 唯一的标识符,并根据标识符区分发送者。为按钮设置标签(比如 1 代表 button1,2 代表 button2)

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "firstIdentifier") {
var VC2 : VC2 = segue.destinationViewController as VC2
VC2.buttonTag = sender.tag

}
if (segue.identifier == "secondIdentifier") {
var VC2 : VC2 = segue.destinationViewController as VC2
VC2.buttonTag = sender.tag
}
}

在VC2中,声明一个变量buttonTag

var buttonTag = 0

无论您在 VC2 中执行 segue,只需检查 buttonTag 的值

if buttonTag == 1 {
//segue caused by button1 of VC1
}
else
if buttonTag == 2 {
//segue caused by button2 of VC1
}
else {
//segue caused by something else
}

我希望这就是你想要实现的目标

关于ios - 多个 segues 到同一个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29218345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com