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
<PackageReference Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" Version="10.0.0" />
<PackageVersion Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" Version="10.0.0" />
<PackageReference Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" />
paket add SaturdayMP.XPlugins.iOS.BEMCheckBox --version 10.0.0
#r "nuget: SaturdayMP.XPlugins.iOS.BEMCheckBox, 10.0.0"
#:package SaturdayMP.XPlugins.iOS.BEMCheckBox@10.0.0
#addin nuget:?package=SaturdayMP.XPlugins.iOS.BEMCheckBox&version=10.0.0
#tool nuget:?package=SaturdayMP.XPlugins.iOS.BEMCheckBox&version=10.0.0
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:
Build the solution to verify it compiles:
cd Source dotnet build -c DebugOpen 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 | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0-ios26.0 is compatible. |
-
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.