[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7104":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},7104,"BEMCheckBox","Boris-Em\u002FBEMCheckBox","Boris-Em","Tasteful Checkbox for iOS. (Check box)","",null,"Swift",2612,291,42,23,0,59.4,"MIT License",false,"master",[22,23,24,25],"checkbox","checkmark","ios","ui","2026-06-12 04:00:32","# BEMCheckBox\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002FBoris-Em\u002FBEMCheckBox.svg)](https:\u002F\u002Ftravis-ci.org\u002FBoris-Em\u002FBEMCheckBox)\n[![Version](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fv\u002FBEMCheckBox.svg?style=flat)](http:\u002F\u002Fcocoadocs.org\u002Fdocsets\u002FBEMCheckBox)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fl\u002FBEMCheckBox.svg?style=flat)](http:\u002F\u002Fcocoadocs.org\u002Fdocsets\u002FBEMCheckBox)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fp\u002FBEMCheckBox.svg?style=flat)](http:\u002F\u002Fcocoadocs.org\u002Fdocsets\u002FBEMCheckBox)\n[![Carthage Compatible](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCarthage-compatible-4BC51D.svg?style=flat)](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage)\n\n\u003Cp align=\"center\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox logo.jpg\"\u002F>\u003C\u002Fp>\t\n\n**BEMCheckBox** is an open source library making it easy to create beautiful, highly customizable, animated checkboxes for iOS. \n\n## Table of Contents\n\n* [**Project Details**](#project-details)  \n  * [Requirements](#requirements)\n  * [License](#license)\n  * [Support](#support)\n  * [Sample App](#sample-app)\n  * [React Native](#react-native)\n  * [NativeScript](#nativescript)\n  * [Xamarin](#xamarin)\n* [**Getting Started**](#getting-started)\n  * [Installation](#installation)\n  * [Setup](#setup)\n* [**Documentation**](#documentation)\n  * [Enabling \u002F Disabling the Checkbox](#enabling--disabling-the-checkbox) \n  * [Reloading](#reloading)\n  * [Group \u002F Radio Button Functionality](#group--radio-button-functionality)\n  * [Delegate](#delegate)\n  * [Customization](#customization)\n\n## Project Details\nLearn more about the **BEMCheckBox** project, licensing, support etc.\n\n\u003Cp align=\"center\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox.gif\"\u002F>\u003C\u002Fp>\t\n\n### Requirements\n - Requires iOS 7 or later. The sample project is optimized for iOS 9.\n - Requires Automatic Reference Counting (ARC).\n - Optimized for ARM64 Architecture.\n\n### License\nSee the [License](https:\u002F\u002Fgithub.com\u002FBoris-Em\u002FBEMCheckBox\u002Fblob\u002Fmaster\u002FLICENSE). You are free to make changes and use this in either personal or commercial projects. Attribution is not required, but highly appreciated. A little \"Thanks!\" (or something to that affect) is always welcome. If you use **BEMCheckBox** in your app, please let us know!\n\n### Support\n[![Gitter chat](https:\u002F\u002Fbadges.gitter.im\u002FBoris-Em\u002FBEMCheckBox.png)](https:\u002F\u002Fgitter.im\u002FBoris-Em\u002FBEMCheckBox)  \nJoin us on [Gitter](https:\u002F\u002Fgitter.im\u002FBoris-Em\u002FBEMCheckBox) if you need any help or want to talk about the project.\n\n### Sample App\nThe iOS Sample App included with this project demonstrates one way to correctly setup and use **BEMCheckBox**. It also offers the possibility to customize the checkbox within the app.\n\n### React Native  \n**BEMCheckBox** can be used with React Native: [React-Native-BEMCheckBox](https:\u002F\u002Fgithub.com\u002Ftorifat\u002Freact-native-bem-check-box)\n\n### NativeScript  \n**BEMCheckBox** can be used with NativeScript: [NativeScript-BEMCheckBox](https:\u002F\u002Fgithub.com\u002Fnstudio\u002Fnativescript-checkbox)\n\n### Xamarin\n**BEMCheckBox** can also be used with Xamarin: [XPlugins.iOS.BEMCheckBox](https:\u002F\u002Fgithub.com\u002Fsaturdaymp\u002FXPlugins.iOS.BEMCheckBox)\n\n## Getting Started\nIt only takes a few simple steps to install and setup **BEMCheckBox** to your project.\n\n### Installation\n\n#### Swift Package Manager\nAdd `https:\u002F\u002Fgithub.com\u002FBoris-Em\u002FBEMCheckBox` as a dependency to your Package.swift file or select `File -> Swift Packages -> Add Package Dependency...` in Xcode.\n\n#### CocoaPods\nThe easiest way to install **BEMCheckBox** is to use \u003Ca href=\"http:\u002F\u002Fcocoapods.org\u002F\" target=\"_blank\">CocoaPods\u003C\u002Fa>. To do so, simply add the following line to your `Podfile`:\n\t\u003Cpre>\u003Ccode>pod 'BEMCheckBox'\u003C\u002Fcode>\u003C\u002Fpre>\n\n\n#### Carthage\n[Carthage](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage) is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.\n\nRun `carthage update` after adding **BEMCheckBox** to your Cartfile to build the framework. Drag the built `BEMCheckBox.framework` into your Xcode project.\n\n#### Manually\t\nFinally, you can install **BEMCheckBox** manually. Simply drag and drop the *Classes* folder into your Xcode project. When you do so, make sure to check the \"*Copy items into destination group's folder*\" box.\n\n### Setup\nSetting up **BEMCheckBox** to your project couldn't be more simple. It is modeled after `UISwitch`. In fact, you could just replace instances of `UISwitch` by **BEMCheckBox** in your project!  \nHere are the steps to follow to get everything up and running:\n\n 1. Import `\"BEMCheckBox.h\"` to the header of your view controller:\n\n ```objective-c\n #import \"BEMCheckBox.h\"\n ```\n\n 2. **BEMCheckBox** can either be initialized programatically (through code) or with Interface Builder (Storyboard file). Use the method that makes the most sense for your project.\n \n **Programmatical Initialization**  \n Just add the following code to your implementation (usually in the `viewDidLoad` method of your View Controller).\n\n ```objective-c\n BEMCheckBox *myCheckBox = [[BEMCheckBox alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];\n [self.view addSubview:myCheckBox];\n ```\n \n **Interface Builder Initialization**  \n 1 - Drag a `UIView` to your `UIViewController`.  \n 2 - Change the class of the new `UIView` to `BEMCheckBox`.  \n 3 - Select the `BEMCheckBox` and open the Attributes Inspector. Most of the customizable properties can easily be set from the Attributes Inspector. The Sample App demonstrates this capability.\n\n## Documentation\nAll of the methods and properties available for **BEMCheckBox** are documented below.\n\n### Enabling \u002F Disabling the Checkbox\n##### The `on` Property\nJust like `UISwitch`, **BEMCheckBox** provides the boolean property `on` that allows you to retrieve and set (without animation) a value determining wether the BEMCheckBox object is `on` or `off`. Defaults to `NO`.  \nExample usage:\n```objective-c\nself.myCheckBox.on = YES;\n```\n##### `setOn:animated:`\nJust like `UISwitch`, **BEMCheckBox** provides an instance method `setOn:animated:` that sets the state of the checkbox to On or Off, optionally animating the transition.  \nExample usage:\n```objective-c\n[self.myCheckBox setOn:YES animated:YES];\n```\n\n### Reloading\nThe instance method `reload` lets you redraw the entire checkbox, keeping the current `on` value.  \nExample usage:  \n```objective-c\n[self.myCheckBox reload]\n```\n\n### Group \u002F Radio Button Functionality\n**BEMCheckBox**es can easily be grouped together to form radio button functionality. This will automatically manage the state of each checkbox in the group, so that only one is selected at a time, and can optionally require that the group has a selection at all times.\n\n```objective-c\nself.group = [BEMCheckBoxGroup groupWithCheckBoxes:@[self.checkBox1, self.checkBox2, self.checkBox3]];\nself.group.selectedCheckBox = self.checkBox2; \u002F\u002F Optionally set which checkbox is pre-selected\nself.group.mustHaveSelection = YES; \u002F\u002F Define if the group must always have a selection\n```\n\nTo see which checkbox is selected in that group, just ask for it:\n```objective-c\nBEMCheckBox *selection = self.group.selectedCheckBox;\n```\n\nTo manually update the selection for a group, just set it:\n```objective-c\nself.group.selectedCheckBox = self.checkBox1;\n```\n\n### Delegate\n**BEMCheckBox** uses a delegate to receive check box events. The delegate object must conform to the `BEMCheckBoxDelegate` protocol, which is composed of two optional methods:\n\n- `didTapCheckBox:`  \nSent to the delegate every time the check box gets tapped, after its properties are updated (`on`), but before the animations are completed.\n\n- `animationDidStopForCheckBox:`  \nSent to the delegate every time the check box finishes being animated.\n\n### Customization\n**BEMCheckBox** is exclusively customizable though properties.  \nThe following diagram provides a good overview:  \n\u003Cp align=\"center\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox properties.jpg\"\u002F>\u003C\u002Fp>\n\n\n##### Apparence Properties\n`lineWidth` - CGFloat  \nThe width of the lines of the check mark and box. Defaults to 2.0.  \n\n`hideBox` - BOOL  \nBOOL to control if the box should be hidden or not. Setting this property to `YES` will essentially turn the checkbox into a check mark. Defaults to `NO`.\n\n`boxType` - BEMBoxType   \nThe type of box to use. See `BEMBoxType` for possible values. Defaults to `BEMBoxTypeCircle`. \n\u003Cp align=\"center\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox box type.jpg\"\u002F>\u003C\u002Fp>\n\n`tintColor` - UIColor  \nThe color of the box when the checkbox is Off.\n\n`onCheckColor` - UIColor  \nThe color of the check mark when it is On.\n\n`onFillColor` - UIColor  \nThe color of the inside of the box when it is On.\n\n`onTintColor` - UIColor  \nThe color of the line around the box when it is On.\n\n##### Animations\n`animationDuration` - CGFloat  \nThe duration in seconds of the animations. Defaults to `0.5`.\n\n`onAnimationType` - BEMAnimationType  \nThe type of animation to use when the checkbox gets checked. Defaults to `BEMAnimationTypeStroke`. See `BEMAnimationType` bellow for possible values.\n\n`offAnimationType` - BEMAnimationType  \nThe type of animation to use when the checkbox gets unchecked. Defaults to `BEMAnimationTypeStroke`. See `BEMAnimationType` bellow for possible values.\n\n`BEMAnimationType`  \nThe possible values for `onAnimationType` and `offAnimationType`.  \n- `BEMAnimationTypeStroke`\n\u003Cp align=\"left\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox-Stroke.gif\"\u002F>\u003C\u002Fp>\n\n- `BEMAnimationTypeFill`\n\u003Cp align=\"left\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox-Fill.gif\"\u002F>\u003C\u002Fp>\n\n- `BEMAnimationTypeBounce`\n\u003Cp align=\"left\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox-Bounce.gif\"\u002F>\u003C\u002Fp>\n\n- `BEMAnimationTypeFlat`\n\u003Cp align=\"left\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox-Flat.gif\"\u002F>\u003C\u002Fp>\n\n- `BEMAnimationTypeOneStroke`\n\u003Cp align=\"left\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox-One-Stroke.gif\"\u002F>\u003C\u002Fp>\n\n- `BEMAnimationTypeFade`\n\u003Cp align=\"left\">\u003Cimg src=\".\u002F.assets\u002FBEMCheckBox-Fade.gif\"\u002F>\u003C\u002Fp>\n","BEMCheckBox 是一个用于iOS平台的开源库，旨在帮助开发者轻松创建美观且高度可定制的动画复选框。它支持自定义外观和行为，包括启用\u002F禁用状态、重新加载以及组或单选按钮功能，并且可以通过委托模式来响应用户交互。此外，BEMCheckBox 兼容多种集成方式如CocoaPods、Carthage等，并且还提供了React Native、NativeScript和Xamarin的支持，使得在跨平台应用开发中也能方便地使用。适用于需要增强UI交互体验或追求界面美观度的各种iOS应用程序场景。",2,"2026-06-11 03:10:32","top_language"]