【问题标题】:Hide button function if statement issue - Swift如果语句问题隐藏按钮功能 - Swift
【发布时间】:2016-06-23 22:21:50
【问题描述】:

如果按下另一个按钮,我有一个隐藏滑块的功能。我目前有:

@IBOutlet weak var sliderHide: UISlider!

@IBAction func sliderHide(sender: UISlider) {
    if (buttonPlay.selected) {
        sliderHide.hidden = false
    }
    else if (!buttonPlay.selected) {
        sliderHide.hidden = true
    }
}

构建正在运行,但滑块仅在自身被选中时才会隐藏。如果按钮被选中,它什么也不做。

【问题讨论】:

    标签: swift function iboutlet


    【解决方案1】:

    比较时使用 == 而不是 =,= 是赋值运算符。

    另外,如果buttonImage不是一个代表按钮控制状态的变量,而是按钮本身你想要做的:

    if buttonImage.selected == false {
    
    }
    

    但是,如果您想在按下按钮时运行函数,则应该为按钮使用@IBAction。

    除非您的按钮是通过编程方式创建的,否则请考虑使用@IBAction 处理此类事情。您可以在此处阅读更多信息:

    http://rshankar.com/different-ways-to-connect-ibaction-to-uibutton/

    【讨论】:

    • 不仅如此......他正在将按钮与按钮状态进行比较
    • @Sethmr 我认为 buttonImage 是一个命名不佳的控制状态变量。
    • 我想不出你会有一个变量作为参数之外的变量。由于它不是一个参数,我假设不是。我猜当涉及到其他人的代码时,假设是不好的哈哈
    【解决方案2】:

    我想你想要

    像图片一样向滑块添加一个插座,然后在您播放声音的任何地方,使滑块YouMightHide.hidden = false 并且在声音停止的地方使滑块YouMightHide.hidden = true。您可能还希望将其隐藏在 viewDidLoad

    【讨论】:

    • 另外,我真的不喜欢按钮的名称。一个按钮有一个图像,所以我会考虑将按钮重命名为别的 =P
    • 我出于问题的目的更改了按钮名称,别担心 - 我显然选择了不好的例子 :)
    • 该功能不起作用 - 我在连接到滑块的 IBAction 中创建了它 - 这是正确的吗?
    • hmmmm 在引用滑块时避免使用术语按钮哈哈
    猜你喜欢
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多