saturdaymp - SaturdayMP.XPlugins.iOS.BEMCheckBox 3.1.0-alpha0028

Use the excellent BEMCheckBox in Xamarin iOS applications. BEMCheckBox allows you to create beautiful, highly customizable, animated checkboxs for iOS.

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

Copy to clipboard

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

Copy to clipboard

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

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

nuget SaturdayMP.XPlugins.iOS.BEMCheckBox  ~> 3.1.0-alpha0028
Copy to clipboard

> choco install SaturdayMP.XPlugins.iOS.BEMCheckBox --version 3.1.0-alpha0028 --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 "3.1.0-alpha0028" -Repository "saturdaymp" -AllowPreRelease
Copy to clipboard

GitHub release (with filter) Nuget CI Release Notes GitHub Sponsors

XPlugins.iOS.BEMCheckBox

This plugin lets you use the BEMCheckBox 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 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

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

The .NET version lists the minimum .NET and iOS versions required. For example, `net6.0-ios12`` means the XPlugin will work with .NET 6.0 and iOS 12 or higher (e.g. it will work with .NET 7 and iOS 16).

Please let me know if this XPlugin does not work work with a future version of .NET or iOS by opening an issue.

XPlugin BEMCheckBox Frameworks/Minimum Version
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 .NET/net6.0-ios16.1
3.0.1 2.0.0 .NET/net6.0-ios12.0

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.

  • .NETFramework 6.0 ios12.0
    • System.Runtime.InteropServices.NFloat.Internal (>= 6.0.1)
  • .NETFramework 6.0 ios12.0: ios12.0: 6.0.0.0

Owners

Christopher Cumming

Authors

Saturday Morning Productions Inc.

Project URL

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

License

MIT

Tags

net6.0 net6.0-ios ios ios-binding bemcheckbox checkbox saturdaymp

Info

150 total downloads
2 downloads for version 3.1.0-alpha0028
Download (172.17 KB)
Found on the current feed only

Package history

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