2017-03-28 64 views
0

我有2个单选按钮和一个按钮来计算一些代码。重点是只允许选择其中一个单选按钮以便计算按钮完成其工作,但由于某些原因,当我构建项目并选择其中一个单选按钮时,我不能再点击它。有谁知道为什么会出现这种情况?点击后Xcode单选按钮不会切换到关闭状态

+0

提供您的代码片段,以便我们可以找出您的问题。现在,看起来好像你没有跟踪每个按钮的当前状态,只要它被按下,并且由于当你压制已经选择的单选按钮时,它被再次选择而不是被取消选择。如果你提供了一些代码,我们将能够以更好的方式帮助你。 – Rahul

+0

你读过http://stackoverflow.com/questions/31104025/how-to-create-nsradiobutton-group-in-xcode-7-osx? – thm

+0

@Rahul我认为这是我的问题....我只是从对象库中拖动单选按钮,我从来没有真正为它们编写任何代码......我只读它们是否被选中。 – loltospoon

回答

0

如果按照这个提示,Interface Builder中显示单选按钮,它的工作原理:

对于中互相排斥的选项的单一选择。

对于在10.8及更高版本上运行的应用程序,建议使用单个NSButton对象(而不是NSMatrix)创建无线电组012)。

当它们具有相同的超视图 和-action方法时,单选按钮将自动充当一个组(选择一个按钮将取消选择所有其他相关按钮)。

只要将它们放在同一个超级视图中是不够的(只是测试并确认了这一点),您还需要将它们连接到同一个动作。

把他们都在同上海华:

Radio Buttons in Stack View

丝他们每个人到同一个动作:

Radio Button Action

@IBAction func clickedRadioButton(_ sender: NSButton) 
{ 
    print("Clicked \(sender.title)") 
} 

然后,每次你选择一个时间单选按钮的其他部分将被自动取消选择,并且您的操作方法将使用您的按钮调用当选。