SaturdayMP.XPlugins.iOS.BEMCheckBox 3.0.1

dotnet add package SaturdayMP.XPlugins.iOS.BEMCheckBox --version 3.0.1
NuGet\Install-Package SaturdayMP.XPlugins.iOS.BEMCheckBox -Version 3.0.1
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="3.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SaturdayMP.XPlugins.iOS.BEMCheckBox --version 3.0.1
#r "nuget: SaturdayMP.XPlugins.iOS.BEMCheckBox, 3.0.1"
#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.
// Install SaturdayMP.XPlugins.iOS.BEMCheckBox as a Cake Addin
#addin nuget:?package=SaturdayMP.XPlugins.iOS.BEMCheckBox&version=3.0.1

// Install SaturdayMP.XPlugins.iOS.BEMCheckBox as a Cake Tool
#tool nuget:?package=SaturdayMP.XPlugins.iOS.BEMCheckBox&version=3.0.1

GitHub release (with filter) Nuget CI Release Notes

XPlugins.iOS.BEMCheckBox

This plugin lets you use the BEMCheckBox in your Xamarin iOS applications. Below outlines how to get started with BEMCheckBox in Xamarin and some common uses. For a list of all the features of the 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 via 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 checkbox clicks setup 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.

You can also play with the BEMCheckBox settings in the Example Client. To run the Example Client open the source in Visual Studio 2017 and set the Example Client as the startup project. If the Example Client does not run please let me know.

Version Mapping

The version of this BEMCheckBox plugin will match the BEMCheckBox major and minor version number but the patch number might differ. When possible the patch number will match but if there is an issue with the wrapper that needs to be fixed then the patch number might be higher then the BEMCheckBox version.

XPlugin BEMCheckBox Frameworks/Versions
1.4.1 1.4.1 Xamarin.iOS/xamarinios10
1.4.2 1.4.1 Xamarin.iOS/xamarinios10
1.4.3 1.4.1 Xamarin.iOS/xamarinios10
2.0.0 2.0.0 Xamarin.iOS/xamarinios10
3.0.0 2.0.0 net6.0-ios16.1
3.0.1 2.0.0 net6.0-ios12

Acknowledgements

Thanks to Boris Emorine for creating the BEMCheckBox.

Further Reading

Microsoft Learning

Walkthrough: Bind an iOS Swift library

Noise from the Basement

Today I Learned How to Create a Xamarin iOS Binding for Objective-C Libraries:

Today I Learned How to Automate Objective-c Builds in TeamCity

The above is bit outdated as the BEMCheckBox is now a Swift project but the overall steps are the same.

Product Compatible and additional computed target framework versions.
.NET net6.0-ios12.0 is compatible.  net7.0-ios was computed.  net8.0-ios was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
3.0.1 422 10/14/2023
3.0.0 118 10/14/2023
2.0.0 1,419 8/17/2023
1.4.3 158,554 12/22/2017
1.4.2 985 12/4/2017
1.4.1 5,265 8/2/2017