【问题标题】:UISwitch to perform very simple operationUISwitch 执行非常简单的操作
【发布时间】:2015-11-06 06:27:49
【问题描述】:

这可能看起来很傻,也许我没有正确理解它。

我的场景中有一个 UISwitch。

 when a login button is clicked

     if the switch is on - do some thing
     if the switch is off - do something else

当我第一次添加开关并运行应用程序时,我可以打开和关闭它,但如果我随后在我的 viewcontroller.h 中添加一个插座,那么开关就会变灰。 (很可能是因为它想让我自己写动画和动作???)

根据我对此的理解,我不需要为它创建一个动作,我只想简单地拒绝开关是打开还是关闭。

这可能吗,还是我需要采取措施?

【问题讨论】:

  • 你想默认关闭吗?
  • 您确定不是更改开关的enabled 属性,而是更改其on 属性吗?
  • 按开/关默认是无关紧要的,如果我将开关添加到场景并且不参考任何东西,因此开关什么都不做,它可以打开和关闭,然后我从切换到头文件,所以我所做的就是声明它。如果我然后运行该应用程序,则开关呈灰色,无法打开或关闭。那时我还没有更改开关的任何设置
  • @Rob85 将 UIControlEventValueChanged 事件的操作添加到 UISwitch。为此,您不需要连接为 IBOutlet。并在此方法中检查 UISwitch 的 isOn 属性。
  • 谢谢大家,下面的答案是我需要的,我在头文件中声明开关时犯了一个愚蠢的错误,请参阅下面的评论

标签: ios iphone uiswitch


【解决方案1】:

无需编写任何与动画相关的代码,只需按照以下步骤即可实现您想要的。

  1. 在您的 .h 文件中创建一个 IBOutlet。将其连接到情节提要中的 UISwitch
@interface FirstTabViewController : UIViewController { __weak IBOutlet UISwitch *switchLogin; } -(IBAction)btnLoginClicked:(id)发件人;
  1. 在您的 .m 文件中写入以下代码
-(IBAction)btnLoginClicked:(id)sender { 如果(switchLogin.on){ //开关打开做任何你想做的事 NSLog(@"开关开启,随心所欲"); } 别的 { // NSLog(@"开关关闭做你想做的事"); } }

【讨论】:

  • 非常感谢,它对我不起作用的原因是因为我在 .h 文件中的括号外声明了 UISwitch。你的代码让我意识到这一点:-)
猜你喜欢
  • 2016-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-27
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多