SaturdayMP.XPlugins.iOS.BEMCheckBox 10.0.0

dotnet add package SaturdayMP.XPlugins.iOS.BEMCheckBox --version 10.0.0
                    
NuGet\Install-Package SaturdayMP.XPlugins.iOS.BEMCheckBox -Version 10.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" Version="10.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" Version="10.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SaturdayMP.XPlugins.iOS.BEMCheckBox --version 10.0.0
                    
#r "nuget: SaturdayMP.XPlugins.iOS.BEMCheckBox, 10.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SaturdayMP.XPlugins.iOS.BEMCheckBox@10.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SaturdayMP.XPlugins.iOS.BEMCheckBox&version=10.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SaturdayMP.XPlugins.iOS.BEMCheckBox&version=10.0.0
                    
Install as a Cake Tool

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:

Product Compatible and additional computed target framework versions.
.NET net10.0-ios26.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0-ios26.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SaturdayMP.XPlugins.iOS.BEMCheckBox:

Package Downloads
Hofmanix.HxForms

Addional views and plugins for Xamarin Forms - currently in development

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.0 118 11/29/2025
9.0.0 122 11/28/2025
8.0.0 179 11/27/2025
3.0.1 2,383 10/14/2023
3.0.0 232 10/14/2023
2.0.0 1,894 8/17/2023
1.4.3 163,653 12/22/2017
1.4.2 1,370 12/4/2017
1.4.1 6,492 8/2/2017