1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- //
- // EICheckBox.m
- // EInsure
- //
- // Created by ivan on 13-7-9.
- // Copyright (c) 2013年 ivan. All rights reserved.
- //
- #import "QCheckBox.h"
- #define Q_CHECK_ICON_WH (18.0)
- #define Q_ICON_TITLE_MARGIN (5.0)
- @implementation QCheckBox
- //@synthesize delegate = _delegate;
- //@synthesize checked = _checked;
- //@synthesize userInfo = _userInfo;
- - (id)initWithDelegate:(id)delegate {
- self = [super init];
- if (self) {
- _delegate = delegate;
-
- self.exclusiveTouch = YES;
- [self setBackgroundImage:[UIImage imageNamed:@"sel_nor_wx2"] forState:UIControlStateNormal];
- [self setBackgroundImage:[UIImage imageNamed:@"sel_check_wx2"] forState:UIControlStateSelected];
- [self setBackgroundImage:[UIImage imageNamed:@"unableCheck_wx2"] forState:UIControlStateDisabled];
- [self addTarget:self action:@selector(checkboxBtnChecked) forControlEvents:UIControlEventTouchUpInside];
- }
- return self;
- }
- - (void)setColorSelected:(UIColor *)colorSelected {
- _colorSelected = colorSelected;
- [self setBackgroundImage:[UIImage createImageWithColor:colorSelected] forState:UIControlStateSelected];
- }
- - (void)setChecked:(BOOL)checked {
- if (_checked == checked) {
- return;
- }
-
- _checked = checked;
- self.selected = checked;
-
- if (_delegate && [_delegate respondsToSelector:@selector(didSelectedCheckBox:checked:)]) {
- [_delegate didSelectedCheckBox:self checked:self.selected];
- }
- }
- - (void)setFrame:(CGRect)frame {
- [super setFrame:frame];
-
- if (self.colorSelected) {
- self.layer.masksToBounds = YES;
- self.layer.cornerRadius = frame.size.width/2;
- }
- }
- - (void)checkboxBtnChecked {
- self.selected = !self.selected;
- _checked = self.selected;
-
- if (_delegate && [_delegate respondsToSelector:@selector(didSelectedCheckBox:checked:)]) {
- [_delegate didSelectedCheckBox:self checked:self.selected];
- }
- }
- - (CGRect)imageRectForContentRect:(CGRect)contentRect {
- return CGRectMake(0, (CGRectGetHeight(contentRect) - Q_CHECK_ICON_WH)/2.0, Q_CHECK_ICON_WH, Q_CHECK_ICON_WH);
- }
- - (CGRect)titleRectForContentRect:(CGRect)contentRect {
- return CGRectMake(Q_CHECK_ICON_WH + Q_ICON_TITLE_MARGIN, 0,
- CGRectGetWidth(contentRect) - Q_CHECK_ICON_WH - Q_ICON_TITLE_MARGIN,
- CGRectGetHeight(contentRect));
- }
- - (void)dealloc {
- // [_userInfo release];
- // _delegate = nil;
- // [super dealloc];
- }
- @end
|