Avi*_*Net 3 macos cocoa objective-c radio-button
我正在尝试在可可应用中将2个单选按钮分组。
但是与iOS不同,在iOS中您可以使用Control-Drag来连接按钮(如图所示)
在可可应用中,我没有找到任何优雅的方法...
在我做丑事之前有什么建议吗?
NSMatrix曾经是解决方案,但现在不建议这样做:
注意:不建议在OS X v10.8及更高版本中运行的应用程序使用NSMatrix。如果您需要在OS X v10.8和更高版本中运行的应用程序中创建单选按钮组,请创建NSButton实例,每个实例指定NSRadioButton的按钮类型,并为该组中的每个按钮指定相同的操作和相同的超级视图。
如果所有按钮都调用相同的操作方法 并且 在相同的超级视图中,则可可会自动选择单击的按钮并取消选择上一个按钮,并且-无需执行任何代码。
所以这是我不太优雅的解决方案 -
NSArray* _radioButtonsArray;
在viewDIdLoad中初始化它:
_radioButtonsArray = [[NSArray alloc] initWithObjects:_radioButton1,_radioButton2,_radioButton3, nil];
Run Code Online (Sandbox Code Playgroud)定义一个radioButtonIsPressed方法并将其作为一个操作连接到所有单选按钮:
-(IBAction)radioButtonIsPressed:(id)sender{
for (NSButton* btn in _radioButtonsArray){
if (btn != sender)
[btn setState:0];
}
}
| 归档时间: |
|
| 查看次数: |
3382 次 |
| 最近记录: |