【问题标题】:How to create IBAction from UISegmentControl?如何从 UISegmentedControl 创建 IBAction?
【发布时间】:2016-04-12 09:07:05
【问题描述】:

我在我的项目中处理UISegmentControl。我可以在拖放的帮助下创建UISegmentControl 的出口和出口集合。但无法创建段控制的IBAction。 我想我错过了非常小的东西。任何想法我现在应该如何进行? 为了更清楚,你可以参考这个截图。

【问题讨论】:

  • 你能显示一些代码吗?
  • 我只想拖放并创建此段控件的 IBAction。在这之后我开始在 IBAcion 函数中编写代码......但我不能只拖放......
  • 只删除一次再添加一次
  • @PriyankaKanse 右键单击​​情节提要中的 SegmentControl,在弹出窗口中有事件列表。选择“Value Changed”并将其拖到控制器(文件所有者)的头文件中,并在其中写入适当的方法名称。

标签: ios swift uisegmentedcontrol ibaction


【解决方案1】:

这与按钮操作相同,唯一的区别是您应该使用“ValueChanged”而不是选择 TouchUpInside 或其他按钮事件

UISegmentControll 将响应值更改操作

【讨论】:

  • 我刚刚得到了解决方案。实际上我在我的项目中使用 cocoapod 来集成第三方框架。所以我在 .xcworkspace 文件而不是 .xcode 文件中编写我的代码。 IBoutlet 在 .xcode 和 .xcworkspace 中都支持,但 IBAction 仅在 .xcode 文件中支持。后记我在 .xcode 文件中创建了动作,它也反映在 .xcworkspace 中。但是 .xcworkspace 中段控制的直接 IBAction 不支持我不知道这正在发生吗?但是非常感谢您的反馈回答:)
【解决方案2】:

在您的 controller 中尝试此代码:

@IBOutlet weak var segmentedControl: UISegmentedControl!
@IBAction func segmentedControl(sender: AnyObject) {

    if segmentedControl.selectedSegmentIndex == 1 {

        // Do something with the first button
    }
    else {
        // Do something with the second button, etc...
    }
}

然后将其从您的code 拖到您的segmentedControl

【讨论】:

  • 我试过了.. 它与 IBOutlet 配合得很好。但它在处理 IBAction 时给了我一个错误
  • 好的,尝试删除您通过拖放分段控件创建的所有链接,然后重试,它应该可以工作
  • 我刚刚得到了解决方案。实际上我在我的项目中使用 cocoapod 来集成第三方框架。所以我在 .xcworkspace 文件而不是 .xcode 文件中编写我的代码。 IBoutlet 在 .xcode 和 .xcworkspace 中都支持,但 IBAction 仅在 .xcode 文件中支持。后记我在 .xcode 文件中创建了动作,它也反映在 .xcworkspace 中。但是 .xcworkspace 中段控制的直接 IBAction 不支持我不知道这正在发生吗?但是非常感谢您的反馈回答:)
【解决方案3】:

您需要点击右上角的助手导航器以打开实现文件,然后将段控件拖动到将弹出对话框屏幕的@implementation指令之后的实现文件。

【讨论】:

  • 我知道.. 但在弹出窗口中它只是向我展示了两个选项,即出口和出口收集。它没有向我显示作为连接内的选项的操作
  • 检查您是否拖到属于故事板的正确 viewController 类
  • 还要确保您拖动到 @implementation 块。
  • 我刚刚得到了解决方案。实际上我在我的项目中使用 cocoapod 来集成第三方框架。所以我在 .xcworkspace 文件而不是 .xcode 文件中编写我的代码。 IBoutlet 在 .xcode 和 .xcworkspace 中都支持,但 IBAction 仅在 .xcode 文件中支持。后记我在 .xcode 文件中创建了动作,它也反映在 .xcworkspace 中。但是 .xcworkspace 中段控制的直接 IBAction 不支持我不知道这正在发生吗?但是非常感谢您的反馈回答:)
猜你喜欢
  • 2012-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多