GSRadioButtonSetController 1.0.0

GSRadioButtonSetController 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 CC
发布最后发布2014 年 12 月

未声明的 维护。



  • Goo Software Ltd

GSRadioButtonSetController – Cocoa 的单选按钮功能

Demo app screenshot

GSRadioButtonSetController 实现了单选按钮数组背后的逻辑。换句话说,给它一组按钮来管理,它将确保每次只能选择一个。在组中选择第二个按钮会自动取消第一个按钮的选择。

(如果您熟悉 HTML 中的 <input type='radio'>,它就像那样,但是针对 Cocoa.)

用法

1. 添加 GSRadioButtonSetController

只需将 GSRadioButtonSetController.h 和 GSRadioButtonSetController.m 拷贝到您的项目中。

2. 准备视图控制器类

假设您有一个名为 MyViewController 的视图控制器。以下是 MyViewController.h

#import <UIKit/UIKit.h>
#import "GSRadioButtonSetController.h"

// Declare that your controller class implements the 
// GSRadioButtonSetControllerDelegate protocol
@interface MyViewController : UIViewController <GSRadioButtonSetControllerDelegate>

// Declare a property to represent your 
// GSRadioButtonSetController instance
@property (nonatomic, strong) GSRadioButtonSetController * radioButtonSetController;

@end

以及这是 MyViewController.m

#import "GSViewController.h"

@implementation GSViewController

#pragma mark - GSRadioButtonSetController delegate methods

- (void)radioButtonSetController:(GSRadioButtonSetController *)controller 
          didSelectButtonAtIndex:(NSUInteger)selectedIndex
{
    // Handle button selection here
    NSLog(@"Someone just selected button %u!", selectedIndex);
}

@end

3. 添加一些按钮

您可以在代码中或在 Xib 中完成此操作。按照您的喜好设置按钮样式。GSRadioButtonSetController 会将 selected 属性设置为 YES,因此务必为选择模式添加区分性样式。

4. 设置单选按钮集控制器

将以下内容添加到视图控制器的 viewDidLoad 方法中。

// Instantiate your GSRadioButtonSetController object
self.radioButtonSetController = [[GSRadioButtonSetController alloc] init];

// Set its delegate to your view controller
self.radioButtonSetController.delegate = self;

// Set its buttons property to an array of buttons that you've
// created previously.
self.radioButtonSetController.buttons = myButtons;

许可证

Creative Commons License

此作品受 知识共享署名 3.0 国际许可协议 的许可。

您可以在任何项目中使用此代码,包括商业项目。请在合适的位置包含以下文本,例如您的应用程序的关于页面

使用 Simon Whitaker 的 GSRadioButtonSetController