我需要以编程方式制作一个Cocoa单选按钮,任何人都可以解释这可能是如何完成的,或发布一个很好的链接来展示如何做到这一点。以编程方式创建一个Cocoa单选按钮
1
A
回答
9
下面是一个示例代码编程创建单选按钮:
//create the radio button prototype
NSButtonCell *proto = [[NSButtonCell alloc] init];
[proto setTitle:@"Options"];
[proto setButtonType: NSRadioButton];
//define the matrix size where you'll put the radio buttons
NSRect matrixRect = NSMakeRect(20.0,20.0,125.0,125.0);
//define the matrix specifying that it will contain radio buttons of
//prototype "proto" defined above, and that it will have 3 radio buttons
//arranged on 1 column
NSMatrix *matrix = [[NSMatrix alloc] initWithRect: matrixRect
mode: NSRadioModeMatrix
prototype: (NSCell *)proto
numberOfRows:3 numberOfColumns:1];
//this assumes that you connected the window object to an outlet
[[windowOutlet contentView] addSubview: matrix];
//set the radio buttons' titles by getting references to the matrix's cells
NSArray *cells = [matrix cells];
[[cells objectAtIndex:0] setTitle:@"Option 1"];
[[cells objectAtIndex:1] setTitle:@"Option 2"];
[[cells objectAtIndex:2] setTitle:@"Option 3"];
[proto release];
[matrix release];
玩得开心!是的,这是取自here,但我添加了一些个人意见来解释过程。
4
2
The NSButton Class reference is here
按钮编程的话题,特别是单选按钮(样本代码) can be found here
相关问题
- 1. 以编程方式选择一个MFC单选按钮
- 2. 以编程方式创建一个asp:按钮?
- 3. 以编程方式创建一个按钮模板
- 4. 如何以编程方式创建图像按钮菜单?
- 5. 使用Cocoa以编程方式创建复选框
- 6. 如何以编程方式在Cocoa中为按钮创建动作?
- 7. 以编程方式创建一个在Access中打开表单的按钮
- 8. 以编程方式创建多个按钮:Android
- 9. 更改以编程方式创建的单选按钮的背景颜色
- 10. 以编程方式创建一个LayeredDrawable
- 11. 以编程方式创建一个SKTileDefinition
- 12. 以infopath形式创建一个单选按钮“只读”?
- 13. 以编程方式创建按钮的onClick方法
- 14. 如何以编程方式创建任何形式的按钮?
- 15. 以编程方式在android中单击单选按钮?
- 16. Android以编程方式创建一个简单的菜单
- 17. 以编程方式创建选项卡
- 18. 创建一个按钮并以编程方式将其添加到视图中
- 19. Swift 3使用UINavBar按钮显示一个以编程方式创建的datePicker
- 20. 用Cocoa/Objective编程方式创建一个选项卡视图C
- 21. 以编程方式创建菜单DevExpress
- 22. 以编程方式创建win表单?
- 23. 以编程方式创建按钮问题
- 24. 如何访问以编程方式创建的按钮?
- 25. Android:如何以编程方式创建中心按钮?
- 26. 以编程方式创建的按钮需要点击两次
- 27. 如何以编程方式创建Web视图停止按钮
- 28. 以编程方式在XML上创建的复制按钮
- 29. 如何删除以编程方式创建的按钮?
- 30. 以编程方式创建的Dojo按钮 - 范围问题
非常好,谢谢。为什么Matrix编程指南中没有这个代码? – rocky 2013-11-20 20:55:02