saturdaymp - SaturdayMP.XPlugins.iOS.BEMCheckBox 1.5.0-alpha0047
Easily use the BEMCheckBox by Boris-Em in Xamarin iOS applications. Just wraps the objective-c BEMCheckBox using the Xamarin native bindings. For more details see the project page. For all BEMCheckBox features see the BEMCheckBox page at: https://github.com/Boris-Em/BEMCheckBox.
PM> Install-Package SaturdayMP.XPlugins.iOS.BEMCheckBox -Version 1.5.0-alpha0047 -Source https://www.myget.org/F/saturdaymp/api/v3/index.json
> nuget.exe install SaturdayMP.XPlugins.iOS.BEMCheckBox -Version 1.5.0-alpha0047 -Source https://www.myget.org/F/saturdaymp/api/v3/index.json
> dotnet add package SaturdayMP.XPlugins.iOS.BEMCheckBox --version 1.5.0-alpha0047 --source https://www.myget.org/F/saturdaymp/api/v3/index.json
<PackageReference Include="SaturdayMP.XPlugins.iOS.BEMCheckBox" Version="1.5.0-alpha0047" />
Copy to clipboard
source https://www.myget.org/F/saturdaymp/api/v3/index.json
nuget SaturdayMP.XPlugins.iOS.BEMCheckBox ~> 1.5.0-alpha0047
Copy to clipboard
> choco install SaturdayMP.XPlugins.iOS.BEMCheckBox --version 1.5.0-alpha0047 --source https://www.myget.org/F/saturdaymp/api/v2
Import-Module PowerShellGet
Register-PSRepository -Name "saturdaymp" -SourceLocation "https://www.myget.org/F/saturdaymp/api/v2"
Install-Module -Name "SaturdayMP.XPlugins.iOS.BEMCheckBox" -RequiredVersion "1.5.0-alpha0047" -Repository "saturdaymp" -AllowPreRelease
Copy to clipboard
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.
- Xamarin.iOS 1.0: 1.0.0.0
OwnersChristopher Cumming |
AuthorsSaturdayMP |
Project URLhttps://github.com/saturdaymp/XPlugins.iOS.BEMCheckBox |
LicenseMIT |
Tagsxamarin ios xamrin-ios xamarin-ios-binding bemcheckbox checkbox |
Info150 total downloads |
2 downloads for version 1.5.0-alpha0047 |
Download (310.4 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 |