iOS 快速实现Checkbox 效果

注:本文所有图片保存EverNote 印象笔记(www.yinxiang.com)当中, 如果有其帐号登录后即可查看全部图片。 如没有帐号可用e-mail 注册免费印象笔记


iOS没有Checkbox 控制,只有UISwitch 起到相同作用。但是很多时候因为界面风格原因 需要使用checkbox 风格来实现。(就是为了好看)

网上有人写一些简单控件: http://code4app.com/ios/Check-Box/51e77cea6803fa6361000000

https://github.com/mattglover/MGCheckbox

测试后发现两个问题:

  1. ARC下需要改写,改的地方还真不少
  2. 测试程序checkbox 对象都是动态创建的。在storyboard 作可视化设计时,集成时,工作量不少

后来找到一个国外介绍手工用UIButton 制作Checkbox 除一个事件处理方法需要手工编写外,其余全部在storyboard 完成,合适可视化设计

http://weheartgames.com/2009/06/simple-iphone-checkbox/

一.绘制控件

1.在StoryBoard 中拖一个UIButton控制 style设为 Custom ,这样就不会显示按钮的边线影响显示效果 UIButton 本身可以直接设定不同状态的图片 Default 相当于unchecked 状态 Selected 相当于按于checked 状态

2.设计点击响应事件 在代码中建立一个IBAction事件,

  • (IBAction)checkboxButton:(id)sender; 在UIButton 的Touch Up Inside 建立与这个IBAction 的对应关系  这个代码主要负责处理UIButton 状态切换关系,这里我改进一下代码,我们用UIButton的Tag用来存储状态,这样在同一个界面多 个checkbox 处理起来就用同一套代码即可。
    - (IBAction)checkboxButton:(id)sender{
    UIButton * checkbox = (UIButton *)sender;
    if(checkbox.tag == 0){
      [checkbox setSelected:YES];
        checkbox.tag = 1;
    }
    else {
        [checkbox setSelected:NO];
        checkbox.tag = 0;
    }

最后给一个示例代码 http://weheartgames.com/wp-content/uploads/2009/06/checkbox.zip


如图片不正常请访问 完整版 

https://app.yinxiang.com/shard/s1/sh/ff199b8b-bd58-45f6-a1f6-aaeb7c7997bb/9f5a2c4ad6dbaad59ff7b7b45c2c5825

你可能感兴趣的:(iOS开发)