以编程方式创建 Cocoa 单选按钮

Creating a Cocoa radio button programmatically(以编程方式创建 Cocoa 单选按钮)
本文介绍了以编程方式创建 Cocoa 单选按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要以编程方式制作一个 Cocoa 单选按钮,谁能解释一下如何做到这一点或如何做好?

I need to make a Cocoa radio button programmatically, can anyone explain how this might be done or how to do this well?

推荐答案

下面是一个以编程方式创建单选按钮的示例代码:

Here's a sample code for creating radio buttons programmatically:

//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];

玩得开心!是的,这取自 这里,但是我添加了一些个人评论来解释这个过程.

Have fun! Yes, this is taken from here, but i added some personal comments to explain the process.

这篇关于以编程方式创建 Cocoa 单选按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Pushing UIViewController above UITabBar(将UIView控制器推送到UITabBar上方)
How to stop UIBarButtonItem text from truncating?(如何阻止UIBarButtonItem文本被截断?)
java.lang.IllegalStateException: SimpleTypeImpl should not be created for error type(异常:不应为错误类型创建SimpleTypeImpl)
Android IllegalArgumentException: The tag for fragment_XXX is invalid. Received: layout-sw600dp/fragment_XXX_0(Android IlLegalArgumentException:Fragment_XXX的标签无效。收到:Layout-sw600dp/Fragment_XXX_0)
NSURLSessionTaskPriority seems to be ignored?(NSURLSessionTaskPriority似乎被忽略了?)
How to make dataWithEPSInsideRect vector rather than bitmap in vector format?(如何用EPSInside Rect将dataWithEPSInside Rect变成矢量而不是位图的矢量格式?)