zoukankan      html  css  js  c++  java
  • IOS开发自定义CheckBox控件

     IOS本身没有系统的CheckBox组件,但是实际开发中会经常用到,所以专门写了一个CheckBox控件,直接上代码

      效果图:

    IOS开发自定义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];

  • 相关阅读:
    无线网络安全标准是什么?漏洞是怎样产生的
    揭秘英特尔处理器如何启动?
    数据包级网络遥测和网络安全推送分析
    自动化与网络工程之间的关系
    ElementUI中的el-table中实现动态添加一行、删除一行、清空所有行
    ElementUI中的el-table实现多选框不勾选的提示
    Nodejs中的fs模块的使用
    ElementUI中的el-table怎样实现多选与单选
    MyBatis中针对if-test的参数为指定值的xml写法
    SqlServer中怎样从Excel中导入数据
  • 原文地址:https://www.cnblogs.com/langtianya/p/3902303.html
Copyright © 2011-2022 走看看