1. 程式人生 > >IOS開源專案(2)之RadioButton單選控制元件學習

IOS開源專案(2)之RadioButton單選控制元件學習

1 前言

眾所周知在IOS中沒有單選按鈕這一控制元件,今天我們來學習一下簡單的單選控制元件。類似與Web中的radio表單元素。

2 詳述

本控制元件單純的利用按鈕控制元件和NSObject的respondsToSelector方法來判斷某一個類中是否存在某方法。

程式碼概述:

ZYRadioButton.h(控制元件標頭檔案):

#import <UIKit/UIKit.h>


@protocol RadioButtonDelegate <NSObject>

-(void)radioButtonSelectedAtIndex:(NSUInteger)index inGroup:(NSString*)groupId;
@end

@interface ZYRadioButton : UIView{
    NSString *_groupId;
    NSUInteger _index;
    UIButton *_button;
}
//GroupId
@property(nonatomic,retain)NSString *groupId;
//Group的索引
@property(nonatomic,assign)NSUInteger index;

//初始化RadioButton控制元件
-(id)initWithGroupId:(NSString*)groupId index:(NSUInteger)index;
//為
+(void)addObserverForGroupId:(NSString*)groupId observer:(id)observer;

@end

ZYViewController.m(檢視控制器中的代理方法):

//代理方法
-(void)radioButtonSelectedAtIndex:(NSUInteger)index inGroup:(NSString *)groupId{
    NSLog(@"changed to %d in %@",index,groupId);
}

具體詳細程式碼請見文章最後的程式碼下載連結。

執行結果:


選中某一選項後結果:


控制檯顯示結果:

2013-05-22 21:50:46.033 RadioButtonDemo[467:c07] changed to 0 in first group

3 結語

以上是所有內容希望對大家有所幫助。