Skip to content

saturdaymp/XPlugins.iOS.BEMCheckBox

Repository files navigation

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:

Sponsor this project

 

Packages

No packages published