标题 | IOS开发自定义CheckBox控件 |
内容 | IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码 效果图: ![]() UICheckBoxButton.h文件如下: #import #import "Common.h" @interface UICheckBoxButton : UIControl { UILabel *label; UIImageView *icon; BOOL checked; id delegate; } @property (retain, nonatomic) id delegate; @property (retain, nonatomic) UILabel *label; @property (retain, nonatomic) UIImageView *icon; -(BOOL)isChecked; -(void)setChecked: (BOOL)flag; @end UICheckBoxButton.m文件如下: #import "UICheckBoxButton.h" @implementation UICheckBoxButton @synthesize label,icon,delegate; - (id)initWithFrame:(CGRect)frame { if ( self = [super initWithFrame: frame]) { icon =[[UIImageView alloc] initWithFrame: CGRectMake (0, 0, frame.size.height, frame.size.height)]; [self setChecked:NO]; [self addSubview: icon]; label =[[UILabel alloc] initWithFrame: CGRectMake(icon.frame.size.width + 7, 0, frame.size.width - icon.frame.size.width - 10, frame.size.height)]; label.backgroundColor =[UIColor clearColor]; label.textAlignment = UITextAlignmentLeft; [self addSubview:label]; [self addTarget:self action:@selector(clicked) forControlEvents: UIControlEventTouchUpInside]; } return self; } -(BOOL)isChecked { return checked; } -(void)setChecked: (BOOL)flag { if (flag != checked) { checked = flag; } if (checked) { [icon setImage: [UIImage imageNamed:@"checkBoxSelect.png"]]; } else { [icon setImage: [UIImage imageNamed:@"checkBoxNoSelect.png"]]; } } -(void)clicked { [self setChecked: !checked]; if (delegate != nil) { SEL sel = NSSelectorFromString (@"checkButtonClicked"); if ([delegate respondsToSelector: sel]) { [delegate performSelector: sel]; } } } -(void)dealloc { delegate = nil; [label release]; [icon release]; [super dealloc]; } @end 使用方法: UICheckBoxButton *checkBoxButton = [[ UICheckBoxButton alloc] initWithFrame: CGRectMake(30, 50, 220, 25)]; checkBoxButton.delegate = self.delegate; checkBoxButton.label.text = [Common getTextByTag:@"noCostPrompt"]; checkBoxButton.label.textColor = [Common getColorByTag:@"alertLabelcolor"]; [self.view addSubview:checkBoxButton]; [checkBoxButton release]; |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。