Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 将单选组分配给单选按钮_Swift_Macos_Cocoa_Xcode Storyboard - Fatal编程技术网

Swift 将单选组分配给单选按钮

Swift 将单选组分配给单选按钮,swift,macos,cocoa,xcode-storyboard,Swift,Macos,Cocoa,Xcode Storyboard,我有几个单选按钮 我需要为它指定一个单选组,以便一次只能选择一个单选按钮。没有单选组选项。我已尝试 为所有按钮指定单个操作出口 在自定义视图中放置所有按钮 所有这些都不起作用。在过去,NSMatrix是提供无线组行为的类。如果您查找该类的文档,您会发现以下注释: 在macOS 10.8及更高版本中运行的应用程序中不鼓励使用NSMatrix。如果需要在macOS 10.8及更高版本中运行的应用程序中创建单选按钮组,请创建NSButton的实例,每个实例指定一个按钮类型NSRadioButto

我有几个单选按钮

我需要为它指定一个单选组,以便一次只能选择一个单选按钮。没有单选组选项。我已尝试

  • 为所有按钮指定单个操作出口
  • 在自定义视图中放置所有按钮

所有这些都不起作用。

在过去,
NSMatrix
是提供无线组行为的类。如果您查找该类的文档,您会发现以下注释:

在macOS 10.8及更高版本中运行的应用程序中不鼓励使用NSMatrix。如果需要在macOS 10.8及更高版本中运行的应用程序中创建单选按钮组,请创建NSButton的实例,每个实例指定一个按钮类型NSRadioButton,并为组中的每个按钮指定相同的操作和相同的超级视图

因此,有三件事需要同时实现,才能使其发挥作用:

  • 所有按钮都必须共享同一个superview
  • 所有按钮都必须具有相同的动作
  • 您的按钮需要将其按钮类型设置为NSRadioButton
我刚才试过了。我在故事板的视图中创建了一个按钮,在属性检查器中将其按钮类型设置为“单选”,并指定了一个操作。然后我重复了几次这个按钮,然后运行了这个应用程序。无线电行为自动工作


如果这对你不起作用,我会先做我上面所做的。只需创建一个单选按钮,并设置一个操作。然后重复几次并进行测试。如果这样做有效(应该如此),那么要么看看你是否可以使用这种技术来获得你想要的东西,要么看看你想要的东西和有效的东西之间有什么不同。

你的方法奏效了。。我不明白苹果为什么忽略了这样一个关键的要求。一个无线电组属性会很好的工作。很高兴它能工作!如果你不喜欢他们的话,写下自己是很容易的行为。旧方法涉及NSMatrix和NSCell,但比需要的复杂得多。当前方法的缺点是,使其工作的方法并不明显。在macOS 10.14之后,NSRadioButton被弃用