【问题标题】:Swift - using a Switch to change the function of a UIButtonSwift - 使用 Switch 更改 UIButton 的功能
【发布时间】:2016-02-05 04:24:56
【问题描述】:

我想知道是否可以使用 Switch(切换按钮)来更改 UIButton 的功能?

现在我的 UIButton 处理 4 张卡片。我想使用一个开关(切换按钮)让它从不同的字符串数组中拉出卡片,以便处理不同的卡片选择。

现在我已经设法让它改变标签文本、背景颜色,甚至让它在打开和关闭时处理不同的卡片。但这是我能做到的。

提前感谢您的帮助或指导!

【问题讨论】:

  • @IBAction func dealCards(sender: UIButton) { if toggle { // pull from array1 } else { // pull from array2 } 与更改标签文本或背景颜色没有太大区别。
  • 天哪,我不敢相信我错过了!我是 swift 的新手,对此我深表歉意。我试图将 if/else 语句放在 switch IBAction 而不是 uibutton 操作中。
  • 我什至需要将开关连接为 IBAction 吗?它可以坐在那里空白吗?
  • 您需要对开关的引用,以便您可以使用 IBOutlet 或 IBAction。对于插座,您可以简单地使用 'if mySwitch.on { } else { }' (在我的手机上输入,不能把它放在一个块中......)。
  • 非常感谢。我现在都拥有它,我将删除 IBAction。

标签: arrays swift function uibutton switch-statement


【解决方案1】:
@IBOutlet weak var mySwitch: UISwitch!

var array1: [Cards] = []
var array2: [Cards] = []

@IBAction dealCards(sender: UIButton) {
    let cards = mySwitch.on ? array1 : array2

    // Do things with cards
}

只是一个简单的例子来说明如何做到这一点。

【讨论】:

  • 好了,现在我可以给你投票了。无论如何,您最初的回答还是完成了这项工作。我仍然不敢相信我离得那么近,却没有看到。试图在我的 IBAction 中为我的开关做这件事让我马上就崩溃了!哈哈哈
  • 谢谢:)。最初的解决方案可能会产生不必要的代码重复。在这个答案中,您只需更改数组即可使用相同的代码。如果您需要更改原始数组,则必须稍微编辑代码。
  • 谢谢。是的,我需要尽快完成我的项目并弄清楚我认为如何精简它。
猜你喜欢
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 2016-09-07
  • 2017-09-05
相关资源
最近更新 更多