在iOS开发中对应用程序进行设置时一般都用UISwitch,偶尔显得单调,这时候你可以选择使用第三方开源类库SSCheckBoxView 。

SSCheckBoxView是一个可用在iOS上一个复选框UI控件,提供选中和不被选中两种情况,和5中风格,如下图

GitHub下载地址:https://github.com/ardalahmet/SSCheckBoxView

原址:http://blog.csdn.net/duxinfeng2010/article/details/9071003

经过封装后的SSCheckBoxView使用起来也很简单,首先初始化它的frame,设置一下显示风格和是否被选中的状态,然后再添加到view上即完成一个复选框的显示

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. SSCheckBoxView *cb = [[SSCheckBoxView alloc] initWithFrame:CGRectMake(, , , ) style:kSSCheckBoxViewStyleMono checked:YES];
  5. [self.view addSubview:cb];
  6. }

五种显示风格,传参的时候也可传0-5之间数设置显示风格

  1. typedef enum SSCheckBoxViewStyle_ {
  2. kSSCheckBoxViewStyleBox = 0,
  3. kSSCheckBoxViewStyleDark,
  4. kSSCheckBoxViewStyleGlossy,
  5. kSSCheckBoxViewStyleGreen,
  6. kSSCheckBoxViewStyleMono,
  7.  
  8. kSSCheckBoxViewStylesCount
  9. } SSCheckBoxViewStyle;
  10.  
  11. 如果需要说明复选框干什么用的,设置下text即可,但是需要对SSCheckBoxView对象的宽度进行适配,宽度太短会显示不完全;对复选框观察提供两种方式,一种是使用选择的器,另一种是使用Block
  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. SSCheckBoxView *cb = [[SSCheckBoxView alloc] initWithFrame:CGRectMake(, , , ) style:kSSCheckBoxViewStyleMono checked:YES];
  5. [cb setText:@"这个是什么呢"];
  6. [cb setStateChangedTarget:self selector:@selector(checkBoxViewChangedState:)];
  7. [self.view addSubview:cb];
  8.  
  9. SSCheckBoxView *cb2 = [[SSCheckBoxView alloc] initWithFrame:CGRectMake(, , , ) style: checked:YES];
  10. [cb2 setText:@"使用Block观察是否选中"];
  11. [cb2 setStateChangedBlock:^(SSCheckBoxView *cbv) {
  12. NSLog(@"复选框状态: %@",cbv.checked ? @"选中" : @"没选中");
  13. }];
  14. [self.view addSubview:cb2];
  15.  
  16. }
  17.  
  18. -(void)checkBoxViewChangedState:(SSCheckBoxView*)cbv
  19. {
  20. NSLog(@"复选框状态: %@",cbv.checked ? @"选中" : @"没选中");
  21. }

效果图:

  1.  

iOS: 复选框使用---第三方框架SSCheckBoxView-master的更多相关文章

  1. iOS 复选框风格转换 Switchery 开关效果

    Switchery 是个简单的 JavaScript 组件,只要几个简单的步骤就可以帮助用户把默认的 HTML 复选框转换成漂亮 iOS 7 样式风格.用户可以很方便的自定义这种转换,所以可以很好的配 ...

  2. iOS复选框

    这种按钮iOS没有原生效果. 可以靠按钮的不同点击状态来实现这个效果. 代码如下: _workBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [ ...

  3. iOS 复选框做法

    -(void)checkboxClick:(UIButton *)btn{    btn.selected = !btn.selected;} - (void)viewDidLoad {UIButto ...

  4. iOS Instruments之Core Animation动画性能调优(工具复选框选项介绍)

    Core Animation工具用来监测Core Animation性能.它给我们提供了周期性的FPS,并且考虑到了发生在程序之外的动画(见图12.4) Core Animation工具提供了一系列复 ...

  5. vue+vant-UI框架写的购物车的复选框全选和反选

    购物车页面的设计图 商品的列表 代码: <ul v-if="shoppingListData.rows.length"> <li v-for="(ite ...

  6. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表单:复选框(Checkbox)和单选框(Radio)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. iOS/swift 单选框和复选框

    /** 复选框 */ import UIKit class LYBmutipleSelectView: UIView { var selectindexs:[Int]=[]//选中的 //标题数组 v ...

  8. jquery checkbox 复选框多次点击判断选中状态,以及全选/取消的代码示例

    2015年12月21日 10:52:51 星期一 目标, 点击当前的checbox, 判断点击后当前checkbox是否是选中状态. html: <input type="checkb ...

  9. jQuery 操作复选框(checkbox) attr checked不起作用

    参考资料 http://www.paobuke.com/develop/javascript/pbk849.html   这天用到jQuery功能,想实现一个简单的复选框动态全选或全不选,结果测试发现 ...

随机推荐

  1. php设计模式三-----建造者模式

    1.简介 意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示. 主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子 ...

  2. Tomcat手动指定jdk路径

    Windows系统: 修改bin下的setclasspath.bat,在开头处添加: rem set specific jdkset JAVA_HOME=%CATALINA_HOME%\jdk1.8. ...

  3. http通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤

    http通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: (1)    建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成 ...

  4. hive学习(三) hive的分区

    1.Hive 分区partition 必须在表定义时指定对应的partition字段 a.单分区建表语句: create table day_table (id int, content string ...

  5. lr手工添加关联函数的步骤:

    点击“确定”后: 如何修改已经创建好的关联规则:

  6. 转:深入了解Windows句柄

    深入了解Windows句柄到底是什么 转:http://blog.csdn.net/wenzhou1219/article/details/17659485 总是有新入门的Windows程序员问我Wi ...

  7. C#将String传入C++的char*

    C++的函数参数列表中包含一个char*的输出型参数,然而在C#调用该dll时候,会自动将函数的中的char*参数“翻译”为sbyte*, 使用了各种方法都不能调用函数,主要是不能合适的转换为sbyt ...

  8. spark启动问题,发现任务都是在localhost下面运行的,原来启动spark-shell的时候需要带主节点的参数

    在Spark 集群上运行一个应用,只需通过master的 spark://IP:PORT 链接传递到SparkContext构造器 在集群上运行交互式的Spark 命令, 运行如下命令: MASTER ...

  9. Sqli-labs less 11

    Less-11 从这一关开始我们开始进入到post注入的世界了,什么是post呢?就是数据从客户端提交到服务器端,例如我们在登录过程中,输入用户名和密码,用户名和密码以表单的形式提交,提交到服务器后服 ...

  10. NetCore项目的部署

    NetCore项目和以前的AspNet项目在部署上有很大的不同,因为NetCore是跨平台的 NetCore支持Kestrel和IIS两种方式,看代码的11行和14行 using System.IO; ...