实现CHeckBox
实现CHeckBox
在iphone开发中,需要用到自动登录,或者记住密码,这些基本设置;而UILit不提供类似的CheckBox;那么就自己实现一个吧,
实现很简单,继承一个UIButton;添加一个BOLL属性ischecked;同时增加需要响应的目标和目标函数;
view sourceprint?
项目源代码:/Files/jordenwu/BECheckBox.zip
在iphone开发中,需要用到自动登录,或者记住密码,这些基本设置;而UILit不提供类似的CheckBox;那么就自己实现一个吧,
实现很简单,继承一个UIButton;添加一个BOLL属性ischecked;同时增加需要响应的目标和目标函数;
view sourceprint?
- #import <UIKit/UIKit.h>
- @interface BECheckBox : UIButton {
- BOOL isChecked;
- id target;
- SEL fun;
- }
- @property (nonatomic,assign) BOOL isChecked;
- -(IBAction) checkBoxClicked;
- -(void)setTarget:(id)tar fun:(SEL )ff;
- @end
- 在实现的同时,主要是初始化,设置内容模式为UIControlContentHorizontalAlignmentLeft;
- BECheckBox实现
- #import "BECheckBox.h"
- @implementation BECheckBox
- @synthesize isChecked;
- - (id)initWithFrame:(CGRect)frame {
- if (self = [super initWithFrame:frame]) {
- // Initialization code
- self.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
- [self setImage:[UIImage imageNamed:@"com_btn_check.png"] forState:UIControlStateNormal];
- [self addTarget:self action:@selector(checkBoxClicked) forControlEvents:UIControlEventTouchUpInside];
- }
- return self;
- }
- -(void)setTarget:(id)tar fun:(SEL)ff
- {
- target=tar;
- fun=ff;
- }
- -(void)setIsChecked:(BOOL)check
- {
- isChecked=check;
- if (check) {
- [self setImage:[UIImage imageNamed:@"com_btn_checked.png"] forState:UIControlStateNormal];
- }
- else {
- [self setImage:[UIImage imageNamed:@"com_btn_check.png"] forState:UIControlStateNormal];
- }
- }
- //响应点击事件
- -(IBAction) checkBoxClicked
- {
- if(self.isChecked ==NO){
- self.isChecked =YES;
- [self setImage:[UIImage imageNamed:@"com_btn_checked.png"] forState:UIControlStateNormal];
- }else{
- self.isChecked =NO;
- [self setImage:[UIImage imageNamed:@"com_btn_check.png"] forState:UIControlStateNormal];
- }
- if (target) {
- if ([target respondsToSelector:fun) {
- [target performSelector:fun];
- }
- }
- }
- - (void)dealloc {
- target=nil;
- [super dealloc];
- }
- @end
项目源代码:/Files/jordenwu/BECheckBox.zip
1.png (112.76 KB, 下载次数: 3)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论