saturdaymp - SaturdayMP.XPlugins.iOS.BEMCheckBox 1.5.0-alpha0055

Easily use the BEMCheckBox by Boris-Em in Xamarin iOS applications. Just wraps the objective-c BEMCheckBox using the Xamarin native bindings. For more details see the project page. For all BEMCheckBox features see the BEMCheckBox page at: https://github.com/Boris-Em/BEMCheckBox.

PM> Install-Package SaturdayMP.XPlugins.iOS.BEMCheckBox -Version 1.5.0-alpha0055 -Source https://www.myget.org/F/saturdaymp/api/v3/index.json

Copy to clipboard

> nuget.exe install SaturdayMP.XPlugins.iOS.BEMCheckBox -Version 1.5.0-alpha0055 -Source https://www.myget.org/F/saturdaymp/api/v3/index.json

Copy to clipboard

> dotnet add package SaturdayMP.XPlugins.iOS.BEMCheckBox --version 1.5.0-alpha0055 --source https://www.myget.org/F/saturdaymp/api/v3/index.json

Copy to clipboard
<PackageReference Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" Version="1.5.0-alpha0055" />
Copy to clipboard
source https://www.myget.org/F/saturdaymp/api/v3/index.json

nuget SaturdayMP.XPlugins.iOS.BEMCheckBox  ~> 1.5.0-alpha0055
Copy to clipboard

> choco install SaturdayMP.XPlugins.iOS.BEMCheckBox --version 1.5.0-alpha0055 --source https://www.myget.org/F/saturdaymp/api/v2

Copy to clipboard
Import-Module PowerShellGet
Register-PSRepository -Name "saturdaymp" -SourceLocation "https://www.myget.org/F/saturdaymp/api/v2"
Install-Module -Name "SaturdayMP.XPlugins.iOS.BEMCheckBox" -RequiredVersion "1.5.0-alpha0055" -Repository "saturdaymp" -AllowPreRelease
Copy to clipboard

GitHub release (with filter) Nuget CI GitHub Sponsors

XPlugins.iOS.BEMCheckBox

This .NET iOS binding library lets you use the BEMCheckBox framework in your .NET iOS applications. This README outlines how to get started with BEMCheckBox in .NET and some common uses. For a list of all features, please see the BEMCheckBox GitHub page.

Installing

XPlugins is a NuGet Package and can be installed using the dotnet command line:

dotnet add package SaturdayMP.XPlugins.iOS.BEMCheckBox

You can find other ways to install the latest stable version of the BEMCheckBox XPlugin on NuGet. You can find work in progress (WIP) and alpha builds on MyGet. If you have any trouble installing, please let me know by opening an issue.

Quickstart

To create a BEMCheckBox, call the constructor with a frame as shown below.

var checkbox = new SaturdayMP.XPlugins.iOS.BEMCheckBox(new CoreGraphics.CGRect(140, 40, 25, 25));

You can modify things such as making the checkbox square:

checkbox.BoxType = BEMBoxType.Square;

You can also change the animation type:

checkbox.OnAnimationType = BEMAnimationType.Fill;
checkbox.OffAnimationType = BEMAnimationType.Fill;

Yes, you can set the on and off animation types to be different. You can set the color:

checkbox.OnFillColor = UIColor.Red;

To change if the checkbox is checked or not:

// Check to the checkbox.
checkbox.On = true;

// Uncheck the checkbox.
checkbox.On = false;

Finally, to handle the checkbox click event set up an event:

private void CheckBoxClickedEvent(object sender, EventArgs eventArgs)
{
  var checkbox = sender as BEMCheckBox;
  if (checkbox == null)
    return;
    
  // Do what you need to do with the checkbox.
}

Then subscribe to it:

checkbox.AnimationDidStopFor += CheckBoxClickedEvent;

For a full list of settings such as animation type, colours, etc see the BEMCheckBox page.

Running the Example Client

You can also play with the BEMCheckBox settings in the Example Client.

From an IDE

Open the solution in Visual Studio for Mac, Visual Studio, or your preferred .NET IDE and set the Example Client as the startup project, then run it (F5).

From the Command Line

Building and running iOS applications from the command line requires an IDE. The recommended approach is:

  1. Build the solution to verify it compiles:

    cd Source
    dotnet build -c Debug
    
  2. Open the solution in Visual Studio and run the ExampleClient from there.

Note: Running iOS applications requires macOS with Xcode installed. Command-line execution of iOS apps is not directly supported by the .NET CLI and requires using an IDE or additional tools like simctl.

Version Mapping

Below is the mapping of the BEMCheckBox version used in the XPlugin wrapper version along with the Xamarin/.NET version.

The .NET version lists the minimum .NET and iOS versions required. For example, net10.0-ios with minimum iOS 18.0 means the XPlugin will work with .NET 10.0 and iOS 18.0 or higher (e.g. it will work with .NET 10, .NET 11, .NET 12, and iOS 18, iOS 19, iOS 20).

Starting with version 8, the XPlugin version will match the .NET release it is targeting.

XPlugin BEMCheckBox Frameworks/Minimum Version
9.0.0 2.2.0 .NET/net9.0-ios18.0
8.0.0 2.2.0 .NET/net8.0-ios18.0
3.1.0 2.0.0 .NET/net6.0-ios12.0
3.0.1 2.0.0 .NET/net6.0-ios12.0
3.0.0 2.0.0 .NET/net6.0-ios16.1
2.0.0 2.0.0 Xamarin.iOS/xamarinios10
1.4.3 1.4.1 Xamarin.iOS/xamarinios10
1.4.2 1.4.1 Xamarin.iOS/xamarinios10
1.4.1 1.4.1 Xamarin.iOS/xamarinios10

If you spot any issues with the versioning table or a version combination you need is not listed, even unsupported versions, let me know by opening an issue.

Acknowledgements

Thanks to Boris Emorine for creating the BEMCheckBox.

Further Reading

Build the Xamarin lipo bundle (XPlugin 3.1.0 and earlier)

Microsoft Learning: Walkthrough: Bind an iOS Swift library

Blog Posts:

  • Xamarin.iOS 1.0: 1.0.0.0

Owners

Christopher Cumming

Authors

SaturdayMP

Project URL

https://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox

License

MIT

Tags

xamarin ios xamrin-ios xamarin-ios-binding bemcheckbox checkbox

Info

4928 total downloads
71 downloads for version 1.5.0-alpha0055
Download (310.3 KB)
Found on the current feed only

Package history

Version Size Last updated Downloads Mirrored?
10.1.0-PullRequest46.2 1.48 MB Mon, 01 Dec 2025 16:48:47 GMT 1
10.1.0-PullRequest45.4 1.48 MB Mon, 01 Dec 2025 16:10:20 GMT 1
10.1.0-PullRequest45.3 1.48 MB Sat, 29 Nov 2025 23:24:58 GMT 2
10.1.0-PullRequest45.2 1.48 MB Sat, 29 Nov 2025 23:22:09 GMT 2
10.1.0-PullRequest44.1 1.48 MB Sat, 29 Nov 2025 23:01:47 GMT 2
10.1.0-1 1.48 MB Sat, 29 Nov 2025 23:04:38 GMT 2
10.0.0 1.48 MB Sat, 29 Nov 2025 22:49:24 GMT 2
10.0.0-PullRequest43.11 1.48 MB Sat, 29 Nov 2025 22:43:48 GMT 3
10.0.0-beta.1 1.56 MB Fri, 28 Nov 2025 18:41:18 GMT 1
9.1.0-PullRequest42.1 1.56 MB Fri, 28 Nov 2025 18:23:18 GMT 2
9.1.0-1 1.56 MB Fri, 28 Nov 2025 18:28:01 GMT 1
9.0.0 1.56 MB Fri, 28 Nov 2025 18:15:47 GMT 2
9.0.0-PullRequest41.14 1.56 MB Fri, 28 Nov 2025 18:11:14 GMT 2
9.0.0-PullRequest40.10 1.56 MB Thu, 27 Nov 2025 23:35:17 GMT 2
9.0.0-PullRequest40.9 1.56 MB Thu, 27 Nov 2025 23:26:47 GMT 3
9.0.0-PullRequest40.5 1.56 MB Thu, 27 Nov 2025 23:19:59 GMT 2
9.0.0-beta.1 1.56 MB Fri, 28 Nov 2025 18:04:24 GMT 2
9.0.0-12 1.56 MB Fri, 28 Nov 2025 17:55:02 GMT 2
8.1.0-PullRequest40.4 1.56 MB Thu, 27 Nov 2025 23:18:44 GMT 2
8.1.0-PullRequest39.1 1.51 MB Thu, 27 Nov 2025 20:53:44 GMT 2
8.1.0-1 1.51 MB Thu, 27 Nov 2025 22:44:53 GMT 2
8.0.0 1.51 MB Thu, 27 Nov 2025 20:24:47 GMT 3
8.0.0-PullRequest38.39 1.51 MB Thu, 27 Nov 2025 18:48:03 GMT 2
8.0.0-PullRequest38.38 1.51 MB Thu, 27 Nov 2025 18:02:08 GMT 2
8.0.0-PullRequest38.37 1.51 MB Thu, 27 Nov 2025 17:29:26 GMT 2
8.0.0-PullRequest38.36 1.51 MB Thu, 27 Nov 2025 17:28:25 GMT 1
8.0.0-PullRequest38.35 1.51 MB Thu, 27 Nov 2025 17:03:04 GMT 2
8.0.0-PullRequest37.31 1.51 MB Wed, 19 Nov 2025 22:50:57 GMT 5
8.0.0-PullRequest37.30 1.51 MB Wed, 19 Nov 2025 22:30:40 GMT 9
8.0.0-PullRequest36.23 1.51 MB Wed, 19 Nov 2025 17:29:36 GMT 6
8.0.0-PullRequest36.22 1.51 MB Fri, 14 Nov 2025 00:18:50 GMT 12
8.0.0-beta.1 1.51 MB Thu, 27 Nov 2025 20:14:45 GMT 2
8.0.0-25 1.51 MB Wed, 19 Nov 2025 17:30:25 GMT 7
3.1.0-PullRequest34.18 1.51 MB Thu, 13 Nov 2025 23:15:34 GMT 11
3.1.0-pullrequest0031-0028 172.23 KB Sat, 13 Jan 2024 00:34:02 GMT 89
3.1.0-pullrequest0031-0027 172.21 KB Sat, 13 Jan 2024 00:14:32 GMT 77
3.1.0-pullrequest0030-0024 172.16 KB Fri, 12 Jan 2024 23:01:04 GMT 81
3.1.0-pullrequest0029-0021 172.16 KB Tue, 17 Oct 2023 03:12:00 GMT 88
3.1.0-pullrequest0029-0020 172.15 KB Tue, 17 Oct 2023 03:03:57 GMT 91
3.1.0-alpha0028 172.17 KB Sat, 13 Jan 2024 00:44:33 GMT 73
3.1.0-alpha0024 172.12 KB Fri, 12 Jan 2024 23:04:26 GMT 94
3.1.0-alpha0021 172.11 KB Tue, 17 Oct 2023 03:16:22 GMT 75
3.1.0-alpha0018 172.05 KB Tue, 17 Oct 2023 02:36:41 GMT 90
3.1.0-18 1.51 MB Thu, 13 Nov 2025 23:44:23 GMT 9
3.0.1 172.02 KB Sat, 14 Oct 2023 20:28:06 GMT 90
3.0.1-pullrequest0027-0008 172.1 KB Sat, 14 Oct 2023 20:20:00 GMT 91
3.0.1-pullrequest0027-0005 172.1 KB Sat, 14 Oct 2023 20:14:53 GMT 79
3.0.1-pullrequest0026-0003 172.08 KB Sat, 14 Oct 2023 20:01:46 GMT 88
3.0.1-beta0009 172.05 KB Sat, 14 Oct 2023 20:23:46 GMT 90
3.0.1-beta0003 172.04 KB Sat, 14 Oct 2023 20:07:38 GMT 101
3.0.0 172.01 KB Sat, 14 Oct 2023 19:33:25 GMT 90
3.0.0-beta0006 172.03 KB Sat, 14 Oct 2023 19:29:14 GMT 92
3.0.0-beta0004 172.04 KB Sat, 14 Oct 2023 19:09:22 GMT 74
3.0.0-beta0000 171.89 KB Sat, 14 Oct 2023 18:58:36 GMT 84
2.1.0-update-to-dotne-0001 171.95 KB Fri, 13 Oct 2023 22:30:50 GMT 86
2.1.0-prepare-for-v3-00001 172.1 KB Sat, 14 Oct 2023 18:56:26 GMT 73
2.1.0-alpha0015 171.9 KB Sat, 14 Oct 2023 17:46:56 GMT 75
2.0.0 167.79 KB Thu, 17 Aug 2023 20:52:28 GMT 91
2.0.0-update-nuget-pac0001 167.86 KB Thu, 17 Aug 2023 17:45:03 GMT 81
2.0.0-refactoring-move0001 165.45 KB Mon, 14 Aug 2023 16:08:55 GMT 89
2.0.0-documentation-up0001 165.47 KB Mon, 14 Aug 2023 18:15:20 GMT 84
2.0.0-devops-releaseno0001 165.41 KB Mon, 14 Aug 2023 16:24:23 GMT 90
2.0.0-dependency-upda-0001 165.44 KB Mon, 14 Aug 2023 15:36:04 GMT 79
2.0.0-alpha0067 167.82 KB Thu, 17 Aug 2023 20:33:24 GMT 100
2.0.0-alpha0060 165.35 KB Mon, 14 Aug 2023 18:35:24 GMT 85
2.0.0-alpha0056 165.36 KB Mon, 14 Aug 2023 16:53:03 GMT 78
2.0.0-alpha0052 165.37 KB Mon, 14 Aug 2023 16:14:22 GMT 74
2.0.0-alpha0050 165.36 KB Mon, 14 Aug 2023 16:04:48 GMT 82
1.5.0-feature-11-move-0031 309.88 KB Mon, 25 May 2020 22:54:40 GMT 91
1.5.0-devops-update-ci0001 310.34 KB Tue, 08 Aug 2023 21:19:33 GMT 82
1.5.0-dependency-upda-0001 165.08 KB Thu, 10 Aug 2023 23:04:51 GMT 76
1.5.0-alpha0055 310.3 KB Tue, 08 Aug 2023 21:25:51 GMT 71
1.5.0-alpha0048 310.4 KB Sun, 24 Oct 2021 17:11:13 GMT 75
1.5.0-alpha0047 310.4 KB Fri, 30 Jul 2021 22:10:34 GMT 84
1.5.0-alpha0016 310.07 KB Sat, 06 Jul 2019 03:49:59 GMT 76
1.5.0-alpha0015 310.07 KB Sun, 23 Jun 2019 18:43:27 GMT 80
1.5.0-alpha0013 310.32 KB Fri, 22 Dec 2017 22:38:10 GMT 96
1.5.0-alpha0012 310.32 KB Fri, 22 Dec 2017 22:23:08 GMT 87
1.5.0-alpha0008 309.98 KB Tue, 19 Dec 2017 04:50:11 GMT 78
1.5.0-alpha0006 309.9 KB Mon, 04 Dec 2017 17:47:47 GMT 90
1.5.0-alpha0003 130.29 KB Mon, 04 Dec 2017 17:45:22 GMT 85
1.5.0-alpha0002 130.26 KB Mon, 11 Sep 2017 21:25:34 GMT 85
1.5.0-alpha0001 130.26 KB Wed, 02 Aug 2017 16:54:24 GMT 72
1.5.0-8-upgrade-gitver0001 310.12 KB Sun, 23 Jun 2019 18:34:09 GMT 74
1.5.0-11-move-ci-to-gi0001 310.47 KB Fri, 30 Jul 2021 21:47:36 GMT 88
1.4.4-7-upgrade-xamari0001 310.13 KB Sat, 06 Jul 2019 03:44:42 GMT 75
1.4.3 310.3 KB Fri, 22 Dec 2017 22:24:22 GMT 84
1.4.3-beta0001 309.99 KB Tue, 19 Dec 2017 04:42:16 GMT 71
1.4.2 309.58 KB Mon, 04 Dec 2017 17:37:39 GMT 82
1.4.2-beta0001 309.62 KB Fri, 01 Dec 2017 15:18:16 GMT 83
1.4.1 130.24 KB Wed, 02 Aug 2017 14:52:11 GMT 72
1.0.0 130.23 KB Tue, 01 Aug 2017 22:39:12 GMT 82
0.1.0-alpha0002 130.25 KB Tue, 01 Aug 2017 21:23:57 GMT 72