ios - 按钮和开关

标签 ios swift uibutton uiswitch

<分区>

我有一个开关,它在打开时打印“its on”,在关闭时打印“its off”。因为我想在未来有更多的开关,我决定我想要一个充当通用按钮的按钮,因此当我按下按钮时,开关会自动打开,但问题是,它不会打印“its on ".

基本上,如果我直接点击开关,它就会执行它应该做的事情;如果我通过按钮更改开关的状态,它不会,它只会打开,不会打印任何内容。

按钮代码:

    @IBAction func Button(sender: UIButton) {

        self.SSwitch.setOn(true, animated: false)

}

开关代码:

    @IBAction func Switch(sender: UISwitch) {
    if self.SSwitch.on {
        print("its on")
    }
    else {
        print("its off")
    }

最佳答案

这是预期的情况。

如果用户触发更改,则控件将向其每个目标发送操作消息。如果直接在代码中进行更改,则不会发送任何操作消息。

因此,如果您更改代码中的状态,则发送(适当的)操作消息取决于您是否有意义。

关于ios - 按钮和开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33463973/

相关文章:

ios - 在 iOS 中使用 GTLGmailMessage 阅读电子邮件

swift - 如何更改紧凑型 UIDatePicker 的文本颜色

objective-c - 以编程方式居中 UIButton

swift - 使用swift在背景图像上显示uibutton文本

ios - aws dynamodb 如何在 ios 中使用对象映射器和批处理获取

ios - iPhone 应用编程 : best element from the interface builder to display calculated values

ios - 图书馆?静止的?动态的?还是框架?另一个项目中的项目

ios - 将视频从 Raspberry PI 流式传输到 native iOS 应用程序?

swift - 带有 Swift Cocoa 框架的 macOS 命令行工具 : Library not loaded

iphone - 如何维护 UITableView 中特定按钮的状态(即停止覆盖图像)