ios自定义checkbox

本文介绍了一个自定义的CheckBox组件实现,该组件基于UIButton进行扩展,并使用UIImage来表示选中和未选中的状态。提供了初始化方法、切换状态的方法以及设置检查状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//Author:smilelance

//From:http://blog.youkuaiyun.com/smilelance


#import <UIKit/UIKit.h>


@interface PDECheckBox : UIButton

{

BOOL isChecked;

}


- (id)initWithCenter:(CGPoint)center;

- (BOOL)isChecked;

- (void)setCheckState:(BOOL)checked;

- (void)switchCheckState;

@end


#import "PDECheckBox.h"


#define IMAGE_CHECKED @"checkbox_gray_sel.png"

#define IMAGE_UNCHECKED @"checkbox_gray.png"


@implementation PDECheckBox



- (id)initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];

if (self) {

// Initialization code

}

return self;

}


- (id)initWithCenter:(CGPoint)center

{

// UIImage *imgChecked = [UIImage imageNamed:IMAGE_CHECKED];

UIImage *imgUnChecked = [UIImageimageNamed:IMAGE_UNCHECKED];

CGSize size = imgUnChecked.size;

CGRect frame = CGRectMake(center.x-size.width/2, center.y-size.height/2,

size.width, size.height);

self = [super initWithFrame:frame];

if (self) {

// Initialization code

[selfsetImage:imgUnChecked forState:UIControlStateNormal];

isChecked = NO;

[selfaddTarget:selfaction:@selector(switchCheckState)forControlEvents:UIControlEventTouchUpInside];

}

return self;

}


- (BOOL)isChecked

{

returnisChecked;

}

- (void)switchCheckState

{

[selfsetCheckState:!isChecked];

}

- (void)setCheckState:(BOOL)checked

{

if (checked != isChecked) {

isChecked = checked;

if (isChecked) {

[selfsetImage:[UIImageimageNamed:IMAGE_CHECKED]forState:UIControlStateNormal];

}else {

[selfsetImage:[UIImageimageNamed:IMAGE_UNCHECKED]forState:UIControlStateNormal];

}

}

}


@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值