【问题标题】:Identify which UISwitch is tapped确定哪个 UISwitch 被点击
【发布时间】:2016-03-14 10:24:25
【问题描述】:

我在设置视图上有多个 UISwitches,并将所有 UISwitches 链接到同一个 IBAction 函数。

 @IBAction func settingSwitchTapped(sender: AnyObject) {

 }

我如何找到哪个 UISwitch 被点击,以便我只保存实际更改的开关(而不是保存所有其他开关)

【问题讨论】:

    标签: ios swift uiswitch


    【解决方案1】:

    这是 sender 参数的唯一用途。

    如果您的所有开关都定义为 IBOutlets,您可以将sender 与它们中的每一个进行比较,以了解您点击了哪个。

    你也可以给每个人一个不同的tag属性,根据sender.tag来决定做什么。

    【讨论】:

    • 太棒了!为了比较,我们必须将 sender:AnyObject 更改为 sender: UISwitch
    【解决方案2】:

    为每个 Switch 设置一个唯一编号的标签。

    您可以通过以下方式获得准确的开关:

    switch = sender.tag
    

    希望对你有帮助

    【讨论】:

      【解决方案3】:
      @IBAction func settingSwitchTapped(sender: AnyObject) {
          switch (sender.tag){
          case 101: // your tag
              // executable code goes here
          break;
          case 102: // your tag
      
              break;
          case 103: // your tag
      
              break;
          default:
              break;
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-22
        相关资源
        最近更新 更多