├── .gitignore
├── .gitmodules
├── LICENSE
├── README.md
├── Xamarin.iOS.DGActivityIndicatorViewBinding.sln
├── art
└── DGActivityIndicatorView.gif
├── bitrise.yml
├── build.cake
├── build.ps1
├── build.sh
├── nuspec
└── Xamarin.iOS.DGActivityIndicatorView.nuspec
├── src
├── Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
│ ├── AppDelegate.cs
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── LaunchScreen.storyboard
│ ├── Main.cs
│ ├── Main.storyboard
│ ├── ViewController.cs
│ ├── ViewController.designer.cs
│ └── Xamarin.iOS.DGActivityIndicatorViewBinding.Sample.csproj
└── Xamarin.iOS.DGActivityIndicatorViewBinding
│ ├── ApiDefinition.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── Structs.cs
│ ├── Xamarin.iOS.DGActivityIndicatorViewBinding.csproj
│ ├── libDGActivityIndicatorView.a
│ └── libDGActivityIndicatorView.linkwith.cs
└── tools
└── packages.config
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Xamarin stuff
2 | Components
3 | [Pp]ackages
4 | *.userprefs
5 | Resource.designer.cs
6 |
7 |
8 | # Cake Build related
9 | artifacts/
10 | tools/*
11 | !tools/packages.config
12 |
13 | ## Ignore Visual Studio temporary files, build results, and
14 | ## files generated by popular Visual Studio add-ons.
15 |
16 | # User-specific files
17 | *.suo
18 | *.user
19 | *.sln.docstates
20 |
21 | # Build results
22 | [Dd]ebug/
23 | [Dd]ebugPublic/
24 | [Rr]elease/
25 | x64/
26 | build/
27 | bld/
28 | [Bb]in/
29 | [Oo]bj/
30 | project.lock.json
31 |
32 | # MSTest test Results
33 | [Tt]est[Rr]esult*/
34 | [Bb]uild[Ll]og.*
35 |
36 | #NUNIT
37 | *.VisualState.xml
38 | TestResult.xml
39 |
40 | # Build Results of an ATL Project
41 | [Dd]ebugPS/
42 | [Rr]eleasePS/
43 | dlldata.c
44 |
45 | *_i.c
46 | *_p.c
47 | *_i.h
48 | *.ilk
49 | *.meta
50 | *.obj
51 | *.pch
52 | *.pdb
53 | *.pgc
54 | *.pgd
55 | *.rsp
56 | *.sbr
57 | *.tlb
58 | *.tli
59 | *.tlh
60 | *.tmp
61 | *.tmp_proj
62 | *.log
63 | *.vspscc
64 | *.vssscc
65 | .builds
66 | *.pidb
67 | *.svclog
68 | *.scc
69 |
70 | # Chutzpah Test files
71 | _Chutzpah*
72 |
73 | # Visual C++ cache files
74 | ipch/
75 | *.aps
76 | *.ncb
77 | *.opensdf
78 | *.sdf
79 | *.cachefile
80 |
81 | # Visual Studio profiler
82 | *.psess
83 | *.vsp
84 | *.vspx
85 |
86 | # TFS 2012 Local Workspace
87 | $tf/
88 |
89 | # Guidance Automation Toolkit
90 | *.gpState
91 |
92 | # ReSharper is a .NET coding add-in
93 | _ReSharper*/
94 | *.[Rr]e[Ss]harper
95 | *.DotSettings.user
96 |
97 | # JustCode is a .NET coding addin-in
98 | .JustCode
99 |
100 | # TeamCity is a build add-in
101 | _TeamCity*
102 |
103 | # DotCover is a Code Coverage Tool
104 | *.dotCover
105 |
106 | # NCrunch
107 | *.ncrunch*
108 | _NCrunch_*
109 | .*crunch*.local.xml
110 |
111 | # MightyMoose
112 | *.mm.*
113 | AutoTest.Net/
114 |
115 | # Web workbench (sass)
116 | .sass-cache/
117 |
118 | # Installshield output folder
119 | [Ee]xpress/
120 |
121 | # DocProject is a documentation generator add-in
122 | DocProject/buildhelp/
123 | DocProject/Help/*.HxT
124 | DocProject/Help/*.HxC
125 | DocProject/Help/*.hhc
126 | DocProject/Help/*.hhk
127 | DocProject/Help/*.hhp
128 | DocProject/Help/Html2
129 | DocProject/Help/html
130 |
131 | # Click-Once directory
132 | publish/
133 |
134 | # Publish Web Output
135 | *.[Pp]ublish.xml
136 | *.azurePubxml
137 |
138 | # NuGet Packages Directory
139 | packages/
140 | ## TODO: If the tool you use requires repositories.config uncomment the next line
141 | #!packages/repositories.config
142 |
143 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
144 | # This line needs to be after the ignore of the build folder (and the packages folder if the line above has been uncommented)
145 | !packages/build/
146 |
147 | # Windows Azure Build Output
148 | csx/
149 | *.build.csdef
150 |
151 | # Windows Store app package directory
152 | AppPackages/
153 |
154 | # Others
155 | sql/
156 | *.Cache
157 | ClientBin/
158 | [Ss]tyle[Cc]op.*
159 | ~$*
160 | *~
161 | *.dbmdl
162 | *.dbproj.schemaview
163 | *.pfx
164 | *.publishsettings
165 | node_modules/
166 |
167 | # RIA/Silverlight projects
168 | Generated_Code/
169 |
170 | # Backup & report files from converting an old project file to a newer
171 | # Visual Studio version. Backup files are not needed, because we have git ;-)
172 | _UpgradeReport_Files/
173 | Backup*/
174 | UpgradeLog*.XML
175 | UpgradeLog*.htm
176 |
177 | # SQL Server files
178 | *.mdf
179 | *.ldf
180 |
181 | # Business Intelligence projects
182 | *.rdl.data
183 | *.bim.layout
184 | *.bim_*.settings
185 |
186 | # Microsoft Fakes
187 | FakesAssemblies/
188 |
189 | *.userprefs
190 |
191 | .DS_Store
192 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "src/DGActivityIndicatorView"]
2 | path = src/DGActivityIndicatorView
3 | url = https://github.com/jzeferino/DGActivityIndicatorView
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2017 jzeferino
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://app.bitrise.io/app/ef9f6b792fb8dc9b)
2 | [](https://www.nuget.org/packages/Xamarin.iOS.DGActivityIndicatorView/)
3 |
4 | Xamarin.iOS.DGActivityIndicatorView
5 | ===================
6 |
7 | This is a Xamarin iOS Binding for the [DGActivityIndicatorView](https://github.com/gontovnik/DGActivityIndicatorView).
8 |
9 | DGActivityIndicatorView is a collection of nice loading animations for iOS.
10 |
11 | ## Demo
12 |
13 |
14 |
15 |
16 | ## Usage
17 | (see the [sample](https://github.com/jzeferino/Xamarin.iOS.DGActivityIndicatorView/tree/master/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample) project for a detailed working example)
18 |
19 | ### Step 1
20 |
21 | Install NuGet [package](https://www.nuget.org/packages/Xamarin.iOS.DGActivityIndicatorView/).
22 |
23 | ### Step 2
24 |
25 | Add the DGActivityIndicatorView to your layout:
26 | ```c#
27 | var activityIndicatorView = new DGActivityIndicatorView(DGActivityIndicatorAnimationType.BallGridBeat, UIColor.White);
28 | View.AddSubview(activityIndicatorView);
29 | ```
30 |
31 | ### Step 3
32 |
33 | Show or hide the progress.
34 | ```c#
35 | activityIndicatorView.StartAnimating();
36 | ```
37 | or
38 | ```c#
39 | activityIndicatorView.StopAnimating();
40 | ```
41 |
42 | ## Indicators
43 |
44 | As seen above in the **Demo**, the indicators are as follows:
45 |
46 | * `BallPulseIndicator`
47 | * `NineDots`
48 | * `TriplePulse`
49 | * `FiveDots`
50 | * `RotatingSquares`
51 | * `DoubleBounce`
52 | * `TwoDots`
53 | * `ThreeDots`
54 | * `BallPulse`
55 | * `BallClipRotate`
56 | * `BallClipRotatePulse`
57 | * `BallClipRotateMultiple`
58 | * `BallRotate`
59 | * `BallZigZag`
60 | * `BallZigZagDeflect`
61 | * `BallTrianglePath`
62 | * `BallScale`
63 | * `LineScale`
64 | * `LineScaleParty`
65 | * `BallScaleMultiple`
66 | * `BallPulseSync`
67 | * `BallBeat`
68 | * `LineScalePulseOut`
69 | * `LineScalePulseOutRapid`
70 | * `BallScaleRipple`
71 | * `BallScaleRippleMultiple`
72 | * `TriangleSkewSpin`
73 | * `BallGridBeat`
74 | * `BallGridPulse`
75 | * `RotatingSandglass`
76 | * `RotatingTrigons`
77 | * `TripleRings`
78 | * `CookieTerminator`
79 | * `BallSpinFadeLoader`
80 |
81 | ### License
82 | [MIT Licence](LICENSE)
83 |
--------------------------------------------------------------------------------
/Xamarin.iOS.DGActivityIndicatorViewBinding.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2012
4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.iOS.DGActivityIndicatorViewBinding", "src\Xamarin.iOS.DGActivityIndicatorViewBinding\Xamarin.iOS.DGActivityIndicatorViewBinding.csproj", "{0E5586D9-48EE-4444-A13B-577474CB416D}"
5 | EndProject
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.iOS.DGActivityIndicatorViewBinding.Sample", "src\Xamarin.iOS.DGActivityIndicatorViewBinding.Sample\Xamarin.iOS.DGActivityIndicatorViewBinding.Sample.csproj", "{C30662B5-B745-469C-87F4-35EE8D7E2F52}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|iPhoneSimulator = Debug|iPhoneSimulator
11 | Release|iPhone = Release|iPhone
12 | Release|iPhoneSimulator = Release|iPhoneSimulator
13 | Debug|iPhone = Debug|iPhone
14 | EndGlobalSection
15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
16 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
17 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
18 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Release|iPhone.ActiveCfg = Release|Any CPU
19 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Release|iPhone.Build.0 = Release|Any CPU
20 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
21 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
22 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Debug|iPhone.ActiveCfg = Debug|Any CPU
23 | {0E5586D9-48EE-4444-A13B-577474CB416D}.Debug|iPhone.Build.0 = Debug|Any CPU
24 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
25 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
26 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Release|iPhone.ActiveCfg = Release|iPhone
27 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Release|iPhone.Build.0 = Release|iPhone
28 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
29 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
30 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Debug|iPhone.ActiveCfg = Debug|iPhone
31 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}.Debug|iPhone.Build.0 = Debug|iPhone
32 | EndGlobalSection
33 | EndGlobal
34 |
--------------------------------------------------------------------------------
/art/DGActivityIndicatorView.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzeferino/Xamarin.iOS.DGActivityIndicatorView/1a4d07158340c996bb064637c850ea94411fe770/art/DGActivityIndicatorView.gif
--------------------------------------------------------------------------------
/bitrise.yml:
--------------------------------------------------------------------------------
1 | ---
2 | format_version: 1.4.0
3 | default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
4 |
5 | project_type: xamarin
6 |
7 | workflows:
8 | ci:
9 | steps:
10 | - script@1.1.4:
11 | inputs:
12 | - content: |-
13 | #!/bin/bash
14 | # fail if any commands fails and debug log
15 | set -ex
16 |
17 | # build script
18 | ./build.sh -v diagnostic
19 | - deploy-to-bitrise-io@1.3.6: {}
20 | app:
21 | envs:
22 | - BITRISE_DEPLOY_DIR: artifacts
23 |
--------------------------------------------------------------------------------
/build.cake:
--------------------------------------------------------------------------------
1 | #addin nuget:?package=Cake.SemVer&loaddependencies=true
2 |
3 | // Enviroment
4 | var isRunningBitrise = Bitrise.IsRunningOnBitrise;
5 | var isRunningOnWindows = IsRunningOnWindows();
6 |
7 | // Arguments.
8 | var target = Argument("target", "Default");
9 | var configuration = "Release";
10 |
11 | // Define directories.
12 | var solutionFile = new FilePath("Xamarin.iOS.DGActivityIndicatorViewBinding.sln");
13 | var libProject = new FilePath("src/Xamarin.iOS.DGActivityIndicatorViewBinding/Xamarin.iOS.DGActivityIndicatorViewBinding.csproj");
14 | var iOSSample = new FilePath("src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample.csproj");
15 | var artifactsDirectory = new DirectoryPath("artifacts");
16 | var iOSOutputDirectory = "bin/iPhoneSimulator";
17 |
18 | // Versioning. Used for all the packages and assemblies for now.
19 | var version = CreateSemVer(1, 0, 1);
20 |
21 | Setup((context) =>
22 | {
23 | Information("Bitrise: {0}", isRunningBitrise);
24 | Information ("Running on Windows: {0}", isRunningOnWindows);
25 | Information("Configuration: {0}", configuration);
26 | });
27 |
28 | Task("Clean")
29 | .Does(() =>
30 | {
31 | CleanDirectory(artifactsDirectory);
32 |
33 | MSBuild(solutionFile, settings => settings
34 | .SetConfiguration(configuration)
35 | .WithTarget("Clean")
36 | .SetVerbosity(Verbosity.Minimal));
37 | });
38 |
39 | Task("Restore")
40 | .Does(() =>
41 | {
42 | NuGetRestore(solutionFile);
43 | });
44 |
45 | Task("Build")
46 | .IsDependentOn("Clean")
47 | .IsDependentOn("Restore")
48 | .Does(() =>
49 | {
50 | MSBuild(libProject, settings => settings
51 | .SetConfiguration(configuration)
52 | .WithTarget("Build")
53 | .SetVerbosity(Verbosity.Minimal));
54 |
55 | MSBuild(iOSSample, settings => settings
56 | .SetConfiguration(configuration)
57 | .WithTarget("Build")
58 | .WithProperty("Platform", "iPhoneSimulator")
59 | .WithProperty("OutputPath", iOSOutputDirectory)
60 | .WithProperty("TreatWarningsAsErrors", "false")
61 | // For some strange reason, this compiles fine in iPhoneSimulator without AllowUnsafeBlocks from the IDE but here it just won't compile witout it.
62 | .WithProperty("AllowUnsafeBlocks", "true")
63 | .SetVerbosity(Verbosity.Minimal));
64 | });
65 |
66 | Task ("NuGet")
67 | .IsDependentOn ("Build")
68 | .WithCriteria(isRunningBitrise)
69 | .Does (() =>
70 | {
71 | Information("Nuget version: {0}", version);
72 |
73 | var nugetVersion = Bitrise.Environment.Repository.GitBranch == "master" ? version.ToString() : version.Change(prerelease: "pre" + Bitrise.Environment.Build.BuildNumber).ToString();
74 |
75 | NuGetPack ("./nuspec/Xamarin.iOS.DGActivityIndicatorView.nuspec",
76 | new NuGetPackSettings
77 | {
78 | Version = nugetVersion,
79 | Verbosity = NuGetVerbosity.Normal,
80 | OutputDirectory = artifactsDirectory,
81 | BasePath = "./",
82 | ArgumentCustomization = args => args.Append("-NoDefaultExcludes")
83 | });
84 | });
85 |
86 | Task("Default")
87 | .IsDependentOn("NuGet")
88 | .Does(() => {});
89 |
90 | RunTarget(target);
--------------------------------------------------------------------------------
/build.ps1:
--------------------------------------------------------------------------------
1 | ##########################################################################
2 | # This is the Cake bootstrapper script for PowerShell.
3 | # This file was downloaded from https://github.com/cake-build/resources
4 | # Feel free to change this file to fit your needs.
5 | ##########################################################################
6 |
7 | <#
8 |
9 | .SYNOPSIS
10 | This is a Powershell script to bootstrap a Cake build.
11 |
12 | .DESCRIPTION
13 | This Powershell script will download NuGet if missing, restore NuGet tools (including Cake)
14 | and execute your Cake build script with the parameters you provide.
15 |
16 | .PARAMETER Script
17 | The build script to execute.
18 | .PARAMETER Target
19 | The build script target to run.
20 | .PARAMETER Configuration
21 | The build configuration to use.
22 | .PARAMETER Verbosity
23 | Specifies the amount of information to be displayed.
24 | .PARAMETER Experimental
25 | Tells Cake to use the latest Roslyn release.
26 | .PARAMETER WhatIf
27 | Performs a dry run of the build script.
28 | No tasks will be executed.
29 | .PARAMETER Mono
30 | Tells Cake to use the Mono scripting engine.
31 | .PARAMETER SkipToolPackageRestore
32 | Skips restoring of packages.
33 | .PARAMETER ScriptArgs
34 | Remaining arguments are added here.
35 |
36 | .LINK
37 | http://cakebuild.net
38 |
39 | #>
40 |
41 | [CmdletBinding()]
42 | Param(
43 | [string]$Script = "build.cake",
44 | [string]$Target = "Default",
45 | [ValidateSet("Release", "Debug")]
46 | [string]$Configuration = "Release",
47 | [ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")]
48 | [string]$Verbosity = "Verbose",
49 | [switch]$Experimental,
50 | [Alias("DryRun","Noop")]
51 | [switch]$WhatIf,
52 | [switch]$Mono,
53 | [switch]$SkipToolPackageRestore,
54 | [Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)]
55 | [string[]]$ScriptArgs
56 | )
57 |
58 | [Reflection.Assembly]::LoadWithPartialName("System.Security") | Out-Null
59 | function MD5HashFile([string] $filePath)
60 | {
61 | if ([string]::IsNullOrEmpty($filePath) -or !(Test-Path $filePath -PathType Leaf))
62 | {
63 | return $null
64 | }
65 |
66 | [System.IO.Stream] $file = $null;
67 | [System.Security.Cryptography.MD5] $md5 = $null;
68 | try
69 | {
70 | $md5 = [System.Security.Cryptography.MD5]::Create()
71 | $file = [System.IO.File]::OpenRead($filePath)
72 | return [System.BitConverter]::ToString($md5.ComputeHash($file))
73 | }
74 | finally
75 | {
76 | if ($file -ne $null)
77 | {
78 | $file.Dispose()
79 | }
80 | }
81 | }
82 |
83 | Write-Host "Preparing to run build script..."
84 |
85 | if(!$PSScriptRoot){
86 | $PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
87 | }
88 |
89 | $TOOLS_DIR = Join-Path $PSScriptRoot "tools"
90 | $NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe"
91 | $CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe"
92 | $NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
93 | $PACKAGES_CONFIG = Join-Path $TOOLS_DIR "packages.config"
94 | $PACKAGES_CONFIG_MD5 = Join-Path $TOOLS_DIR "packages.config.md5sum"
95 |
96 | # Should we use mono?
97 | $UseMono = "";
98 | if($Mono.IsPresent) {
99 | Write-Verbose -Message "Using the Mono based scripting engine."
100 | $UseMono = "-mono"
101 | }
102 |
103 | # Should we use the new Roslyn?
104 | $UseExperimental = "";
105 | if($Experimental.IsPresent -and !($Mono.IsPresent)) {
106 | Write-Verbose -Message "Using experimental version of Roslyn."
107 | $UseExperimental = "-experimental"
108 | }
109 |
110 | # Is this a dry run?
111 | $UseDryRun = "";
112 | if($WhatIf.IsPresent) {
113 | $UseDryRun = "-dryrun"
114 | }
115 |
116 | # Make sure tools folder exists
117 | if ((Test-Path $PSScriptRoot) -and !(Test-Path $TOOLS_DIR)) {
118 | Write-Verbose -Message "Creating tools directory..."
119 | New-Item -Path $TOOLS_DIR -Type directory | out-null
120 | }
121 |
122 | # Make sure that packages.config exist.
123 | if (!(Test-Path $PACKAGES_CONFIG)) {
124 | Write-Verbose -Message "Downloading packages.config..."
125 | try { (New-Object System.Net.WebClient).DownloadFile("http://cakebuild.net/download/bootstrapper/packages", $PACKAGES_CONFIG) } catch {
126 | Throw "Could not download packages.config."
127 | }
128 | }
129 |
130 | # Try find NuGet.exe in path if not exists
131 | if (!(Test-Path $NUGET_EXE)) {
132 | Write-Verbose -Message "Trying to find nuget.exe in PATH..."
133 | $existingPaths = $Env:Path -Split ';' | Where-Object { (![string]::IsNullOrEmpty($_)) -and (Test-Path $_) }
134 | $NUGET_EXE_IN_PATH = Get-ChildItem -Path $existingPaths -Filter "nuget.exe" | Select -First 1
135 | if ($NUGET_EXE_IN_PATH -ne $null -and (Test-Path $NUGET_EXE_IN_PATH.FullName)) {
136 | Write-Verbose -Message "Found in PATH at $($NUGET_EXE_IN_PATH.FullName)."
137 | $NUGET_EXE = $NUGET_EXE_IN_PATH.FullName
138 | }
139 | }
140 |
141 | # Try download NuGet.exe if not exists
142 | if (!(Test-Path $NUGET_EXE)) {
143 | Write-Verbose -Message "Downloading NuGet.exe..."
144 | try {
145 | (New-Object System.Net.WebClient).DownloadFile($NUGET_URL, $NUGET_EXE)
146 | } catch {
147 | Throw "Could not download NuGet.exe."
148 | }
149 | }
150 |
151 | # Save nuget.exe path to environment to be available to child processed
152 | $ENV:NUGET_EXE = $NUGET_EXE
153 |
154 | # Restore tools from NuGet?
155 | if(-Not $SkipToolPackageRestore.IsPresent) {
156 | Push-Location
157 | Set-Location $TOOLS_DIR
158 |
159 | # Check for changes in packages.config and remove installed tools if true.
160 | [string] $md5Hash = MD5HashFile($PACKAGES_CONFIG)
161 | if((!(Test-Path $PACKAGES_CONFIG_MD5)) -Or
162 | ($md5Hash -ne (Get-Content $PACKAGES_CONFIG_MD5 ))) {
163 | Write-Verbose -Message "Missing or changed package.config hash..."
164 | Remove-Item * -Recurse -Exclude packages.config,nuget.exe
165 | }
166 |
167 | Write-Verbose -Message "Restoring tools from NuGet..."
168 | $NuGetOutput = Invoke-Expression "&`"$NUGET_EXE`" install -ExcludeVersion -OutputDirectory `"$TOOLS_DIR`""
169 |
170 | if ($LASTEXITCODE -ne 0) {
171 | Throw "An error occured while restoring NuGet tools."
172 | }
173 | else
174 | {
175 | $md5Hash | Out-File $PACKAGES_CONFIG_MD5 -Encoding "ASCII"
176 | }
177 | Write-Verbose -Message ($NuGetOutput | out-string)
178 | Pop-Location
179 | }
180 |
181 | # Make sure that Cake has been installed.
182 | if (!(Test-Path $CAKE_EXE)) {
183 | Throw "Could not find Cake.exe at $CAKE_EXE"
184 | }
185 |
186 | # Start Cake
187 | Write-Host "Running build script..."
188 | Invoke-Expression "& `"$CAKE_EXE`" `"$Script`" -target=`"$Target`" -configuration=`"$Configuration`" -verbosity=`"$Verbosity`" $UseMono $UseDryRun $UseExperimental $ScriptArgs"
189 | exit $LASTEXITCODE
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ##########################################################################
4 | # This is the Cake bootstrapper script for Linux and OS X.
5 | # This file was downloaded from https://github.com/cake-build/resources
6 | # Feel free to change this file to fit your needs.
7 | ##########################################################################
8 |
9 | # Define directories.
10 | SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
11 | TOOLS_DIR=$SCRIPT_DIR/tools
12 | NUGET_EXE=$TOOLS_DIR/nuget.exe
13 | CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe
14 | PACKAGES_CONFIG=$TOOLS_DIR/packages.config
15 | PACKAGES_CONFIG_MD5=$TOOLS_DIR/packages.config.md5sum
16 |
17 | # Define md5sum or md5 depending on Linux/OSX
18 | MD5_EXE=
19 | if [[ "$(uname -s)" == "Darwin" ]]; then
20 | MD5_EXE="md5 -r"
21 | else
22 | MD5_EXE="md5sum"
23 | fi
24 |
25 | # Define default arguments.
26 | SCRIPT="build.cake"
27 | TARGET="Default"
28 | CONFIGURATION="Release"
29 | VERBOSITY="verbose"
30 | DRYRUN=
31 | SHOW_VERSION=false
32 | SCRIPT_ARGUMENTS=()
33 |
34 | # Parse arguments.
35 | for i in "$@"; do
36 | case $1 in
37 | -s|--script) SCRIPT="$2"; shift ;;
38 | -t|--target) TARGET="$2"; shift ;;
39 | -c|--configuration) CONFIGURATION="$2"; shift ;;
40 | -v|--verbosity) VERBOSITY="$2"; shift ;;
41 | -d|--dryrun) DRYRUN="-dryrun" ;;
42 | --version) SHOW_VERSION=true ;;
43 | --) shift; SCRIPT_ARGUMENTS+=("$@"); break ;;
44 | *) SCRIPT_ARGUMENTS+=("$1") ;;
45 | esac
46 | shift
47 | done
48 |
49 | # Make sure the tools folder exist.
50 | if [ ! -d "$TOOLS_DIR" ]; then
51 | mkdir "$TOOLS_DIR"
52 | fi
53 |
54 | # Make sure that packages.config exist.
55 | if [ ! -f "$TOOLS_DIR/packages.config" ]; then
56 | echo "Downloading packages.config..."
57 | curl -Lsfo "$TOOLS_DIR/packages.config" http://cakebuild.net/download/bootstrapper/packages
58 | if [ $? -ne 0 ]; then
59 | echo "An error occured while downloading packages.config."
60 | exit 1
61 | fi
62 | fi
63 |
64 | # Download NuGet if it does not exist.
65 | if [ ! -f "$NUGET_EXE" ]; then
66 | echo "Downloading NuGet..."
67 | curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
68 | if [ $? -ne 0 ]; then
69 | echo "An error occured while downloading nuget.exe."
70 | exit 1
71 | fi
72 | fi
73 |
74 | # Restore tools from NuGet.
75 | pushd "$TOOLS_DIR" >/dev/null
76 | if [ ! -f $PACKAGES_CONFIG_MD5 ] || [ "$( cat $PACKAGES_CONFIG_MD5 | sed 's/\r$//' )" != "$( $MD5_EXE $PACKAGES_CONFIG | awk '{ print $1 }' )" ]; then
77 | find . -type d ! -name . | xargs rm -rf
78 | fi
79 |
80 | mono "$NUGET_EXE" install -ExcludeVersion
81 | if [ $? -ne 0 ]; then
82 | echo "Could not restore NuGet packages."
83 | exit 1
84 | fi
85 |
86 | $MD5_EXE $PACKAGES_CONFIG | awk '{ print $1 }' >| $PACKAGES_CONFIG_MD5
87 |
88 | popd >/dev/null
89 |
90 | # Make sure that Cake has been installed.
91 | if [ ! -f "$CAKE_EXE" ]; then
92 | echo "Could not find Cake.exe at '$CAKE_EXE'."
93 | exit 1
94 | fi
95 |
96 | # Start Cake
97 | if $SHOW_VERSION; then
98 | exec mono "$CAKE_EXE" -version
99 | else
100 | exec mono "$CAKE_EXE" $SCRIPT -verbosity=$VERBOSITY -configuration=$CONFIGURATION -target=$TARGET $DRYRUN "${SCRIPT_ARGUMENTS[@]}"
101 | fi
--------------------------------------------------------------------------------
/nuspec/Xamarin.iOS.DGActivityIndicatorView.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Xamarin.iOS.DGActivityIndicatorView
5 | $version$
6 | Xamarin.iOS.DGActivityIndicatorView
7 | jzeferino
8 | https://github.com/jzeferino/Xamarin.iOS.DGActivityIndicatorView/blob/master/LICENSE
9 | https://github.com/jzeferino/Xamarin.iOS.DGActivityIndicatorView
10 | false
11 | DGActivityIndicatorView is a collection of nice loading animations for iOS.
12 | xamarin, ios, loading
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 | using UIKit;
3 |
4 | namespace Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
5 | {
6 | // The UIApplicationDelegate for the application. This class is responsible for launching the
7 | // User Interface of the application, as well as listening (and optionally responding) to application events from iOS.
8 | [Register("AppDelegate")]
9 | public class AppDelegate : UIApplicationDelegate
10 | {
11 | // class-level declarations
12 |
13 | public override UIWindow Window
14 | {
15 | get;
16 | set;
17 | }
18 |
19 | public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
20 | {
21 | // Override point for customization after application launch.
22 | // If not required for your application you can safely delete this method
23 |
24 | return true;
25 | }
26 |
27 | public override void OnResignActivation(UIApplication application)
28 | {
29 | // Invoked when the application is about to move from active to inactive state.
30 | // This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message)
31 | // or when the user quits the application and it begins the transition to the background state.
32 | // Games should use this method to pause the game.
33 | }
34 |
35 | public override void DidEnterBackground(UIApplication application)
36 | {
37 | // Use this method to release shared resources, save user data, invalidate timers and store the application state.
38 | // If your application supports background exection this method is called instead of WillTerminate when the user quits.
39 | }
40 |
41 | public override void WillEnterForeground(UIApplication application)
42 | {
43 | // Called as part of the transiton from background to active state.
44 | // Here you can undo many of the changes made on entering the background.
45 | }
46 |
47 | public override void OnActivated(UIApplication application)
48 | {
49 | // Restart any tasks that were paused (or not yet started) while the application was inactive.
50 | // If the application was previously in the background, optionally refresh the user interface.
51 | }
52 |
53 | public override void WillTerminate(UIApplication application)
54 | {
55 | // Called when the application is about to terminate. Save data, if needed. See also DidEnterBackground.
56 | }
57 | }
58 | }
59 |
60 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images": [
3 | {
4 | "idiom": "iphone",
5 | "size": "29x29",
6 | "scale": "1x"
7 | },
8 | {
9 | "idiom": "iphone",
10 | "size": "29x29",
11 | "scale": "2x"
12 | },
13 | {
14 | "idiom": "iphone",
15 | "size": "29x29",
16 | "scale": "3x"
17 | },
18 | {
19 | "idiom": "iphone",
20 | "size": "40x40",
21 | "scale": "2x"
22 | },
23 | {
24 | "idiom": "iphone",
25 | "size": "40x40",
26 | "scale": "3x"
27 | },
28 | {
29 | "idiom": "iphone",
30 | "size": "57x57",
31 | "scale": "1x"
32 | },
33 | {
34 | "idiom": "iphone",
35 | "size": "57x57",
36 | "scale": "2x"
37 | },
38 | {
39 | "idiom": "iphone",
40 | "size": "60x60",
41 | "scale": "2x"
42 | },
43 | {
44 | "idiom": "iphone",
45 | "size": "60x60",
46 | "scale": "3x"
47 | },
48 | {
49 | "idiom": "ipad",
50 | "size": "29x29",
51 | "scale": "1x"
52 | },
53 | {
54 | "idiom": "ipad",
55 | "size": "29x29",
56 | "scale": "2x"
57 | },
58 | {
59 | "idiom": "ipad",
60 | "size": "40x40",
61 | "scale": "1x"
62 | },
63 | {
64 | "idiom": "ipad",
65 | "size": "40x40",
66 | "scale": "2x"
67 | },
68 | {
69 | "idiom": "ipad",
70 | "size": "50x50",
71 | "scale": "1x"
72 | },
73 | {
74 | "idiom": "ipad",
75 | "size": "50x50",
76 | "scale": "2x"
77 | },
78 | {
79 | "idiom": "ipad",
80 | "size": "72x72",
81 | "scale": "1x"
82 | },
83 | {
84 | "idiom": "ipad",
85 | "size": "72x72",
86 | "scale": "2x"
87 | },
88 | {
89 | "idiom": "ipad",
90 | "size": "76x76",
91 | "scale": "1x"
92 | },
93 | {
94 | "idiom": "ipad",
95 | "size": "76x76",
96 | "scale": "2x"
97 | },
98 | {
99 | "size": "24x24",
100 | "idiom": "watch",
101 | "scale": "2x",
102 | "role": "notificationCenter",
103 | "subtype": "38mm"
104 | },
105 | {
106 | "size": "27.5x27.5",
107 | "idiom": "watch",
108 | "scale": "2x",
109 | "role": "notificationCenter",
110 | "subtype": "42mm"
111 | },
112 | {
113 | "size": "29x29",
114 | "idiom": "watch",
115 | "role": "companionSettings",
116 | "scale": "2x"
117 | },
118 | {
119 | "size": "29x29",
120 | "idiom": "watch",
121 | "role": "companionSettings",
122 | "scale": "3x"
123 | },
124 | {
125 | "size": "40x40",
126 | "idiom": "watch",
127 | "scale": "2x",
128 | "role": "appLauncher",
129 | "subtype": "38mm"
130 | },
131 | {
132 | "size": "44x44",
133 | "idiom": "watch",
134 | "scale": "2x",
135 | "role": "longLook",
136 | "subtype": "42mm"
137 | },
138 | {
139 | "size": "86x86",
140 | "idiom": "watch",
141 | "scale": "2x",
142 | "role": "quickLook",
143 | "subtype": "38mm"
144 | },
145 | {
146 | "size": "98x98",
147 | "idiom": "watch",
148 | "scale": "2x",
149 | "role": "quickLook",
150 | "subtype": "42mm"
151 | }
152 | ],
153 | "info": {
154 | "version": 1,
155 | "author": "xcode"
156 | }
157 | }
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleName
6 | Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
7 | CFBundleIdentifier
8 | xamarin.ios.dgactivityindicatorviewbinding.xamarin-ios-dgactivityindicatorviewbinding-sample
9 | CFBundleShortVersionString
10 | 1.0
11 | CFBundleVersion
12 | 1.0
13 | LSRequiresIPhoneOS
14 |
15 | MinimumOSVersion
16 | 10.0
17 | UIDeviceFamily
18 |
19 | 1
20 |
21 | UILaunchStoryboardName
22 | LaunchScreen
23 | UIMainStoryboardFile
24 | Main
25 | UIRequiredDeviceCapabilities
26 |
27 | armv7
28 |
29 | UISupportedInterfaceOrientations
30 |
31 | UIInterfaceOrientationPortrait
32 | UIInterfaceOrientationLandscapeLeft
33 | UIInterfaceOrientationLandscapeRight
34 |
35 | XSAppIconAssets
36 | Assets.xcassets/AppIcon.appiconset
37 |
38 |
39 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
4 | {
5 | public class Application
6 | {
7 | // This is the main entry point of the application.
8 | static void Main(string[] args)
9 | {
10 | // if you want to use a different Application Delegate class from "AppDelegate"
11 | // you can specify it here.
12 | UIApplication.Main(args, null, "AppDelegate");
13 | }
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Main.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/ViewController.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using CoreGraphics;
4 | using UIKit;
5 |
6 | namespace Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
7 | {
8 | public partial class ViewController : UIViewController
9 | {
10 | protected ViewController(IntPtr handle) : base(handle)
11 | {
12 | }
13 |
14 | public override void ViewDidLoad()
15 | {
16 | base.ViewDidLoad();
17 |
18 | View.BackgroundColor = UIColor.FromRGB(237, 85, 101);
19 |
20 | // Thats a 🔨 way of getting safearea insets.
21 | var window = UIApplication.SharedApplication.Windows?.FirstOrDefault();
22 | var topPadding = window?.SafeAreaInsets.Top ?? 0;
23 | var bottomPadding = window?.SafeAreaInsets.Bottom ?? 0;
24 |
25 | var cols = 4;
26 | var rows = 9;
27 | var cellWidth = View.Bounds.Size.Width / cols;
28 | var cellHeight = (View.Bounds.Size.Height - (topPadding + bottomPadding)) / rows;
29 |
30 | var enumValues = Enum.GetValues(typeof(DGActivityIndicatorAnimationType)).Cast();
31 |
32 | for (int i = 0; i < enumValues.Count(); i++)
33 | {
34 | var x = i % cols * cellWidth;
35 | var y = (i / cols * cellHeight) + topPadding;
36 |
37 | var activityIndicatorView = new DGActivityIndicatorView(enumValues.ElementAt(i), UIColor.White)
38 | {
39 | TranslatesAutoresizingMaskIntoConstraints = false
40 | };
41 | var label = new UILabel
42 | {
43 | TranslatesAutoresizingMaskIntoConstraints = false,
44 | Text = enumValues.ElementAt(i).ToString(),
45 | TextColor = UIColor.White,
46 | TextAlignment = UITextAlignment.Center
47 | };
48 | label.Font = label.Font.WithSize(9f);
49 |
50 | View.AddSubview(activityIndicatorView);
51 | activityIndicatorView.AddSubview(label);
52 |
53 | activityIndicatorView.HeightAnchor.ConstraintEqualTo(cellHeight).Active = true;
54 | activityIndicatorView.WidthAnchor.ConstraintEqualTo(cellWidth).Active = true;
55 | activityIndicatorView.LeadingAnchor.ConstraintEqualTo(View.LeadingAnchor, x).Active = true;
56 | activityIndicatorView.TopAnchor.ConstraintEqualTo(View.TopAnchor, y).Active = true;
57 |
58 | label.LeadingAnchor.ConstraintEqualTo(activityIndicatorView.LeadingAnchor).Active = true;
59 | label.TrailingAnchor.ConstraintEqualTo(activityIndicatorView.TrailingAnchor).Active = true;
60 | label.TopAnchor.ConstraintEqualTo(activityIndicatorView.TopAnchor).Active = true;
61 |
62 | activityIndicatorView.StartAnimating();
63 | }
64 | }
65 | }
66 | }
67 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/ViewController.designer.cs:
--------------------------------------------------------------------------------
1 | //
2 | // This file has been generated automatically by MonoDevelop to store outlets and
3 | // actions made in the Xcode designer. If it is removed, they will be lost.
4 | // Manual changes to this file may not be handled correctly.
5 | //
6 | using Foundation;
7 |
8 | namespace Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
9 | {
10 | [Register("ViewController")]
11 | partial class ViewController
12 | {
13 | void ReleaseDesignerOutlets()
14 | {
15 | }
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample/Xamarin.iOS.DGActivityIndicatorViewBinding.Sample.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | iPhoneSimulator
6 | {C30662B5-B745-469C-87F4-35EE8D7E2F52}
7 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8 | Exe
9 | Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
10 | Xamarin.iOS.DGActivityIndicatorViewBinding.Sample
11 | Resources
12 |
13 |
14 | true
15 | full
16 | false
17 | bin\iPhoneSimulator\Debug
18 | DEBUG;ENABLE_TEST_CLOUD;
19 | prompt
20 | 4
21 | iPhone Developer
22 | true
23 | true
24 | true
25 | true
26 | 49915
27 | SdkOnly
28 | x86_64
29 | HttpClientHandler
30 | Default
31 | false
32 |
33 |
34 | pdbonly
35 | true
36 | bin\iPhone\Release
37 |
38 | prompt
39 | 4
40 | iPhone Developer
41 | true
42 | true
43 | true
44 | Entitlements.plist
45 | SdkOnly
46 | ARMv7, ARM64
47 | HttpClientHandler
48 | Default
49 |
50 |
51 | pdbonly
52 | true
53 | bin\iPhoneSimulator\Release
54 |
55 | prompt
56 | 4
57 | iPhone Developer
58 | true
59 | true
60 | SdkOnly
61 | x86_64
62 | HttpClientHandler
63 | Default
64 |
65 |
66 | true
67 | full
68 | false
69 | bin\iPhone\Debug
70 | DEBUG;ENABLE_TEST_CLOUD;
71 | prompt
72 | 4
73 | iPhone Developer
74 | true
75 | true
76 | true
77 | true
78 | true
79 | true
80 | Entitlements.plist
81 | SdkOnly
82 | ARMv7, ARM64
83 | HttpClientHandler
84 | Default
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 | ViewController.cs
113 |
114 |
115 |
116 |
117 | {0E5586D9-48EE-4444-A13B-577474CB416D}
118 | Xamarin.iOS.DGActivityIndicatorViewBinding
119 |
120 |
121 |
122 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding/ApiDefinition.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Foundation;
3 | using ObjCRuntime;
4 | using UIKit;
5 |
6 | namespace Xamarin.iOS.DGActivityIndicatorViewBinding
7 | {
8 | // @interface DGActivityIndicatorView : UIView
9 | [BaseType(typeof(UIView))]
10 | interface DGActivityIndicatorView
11 | {
12 | // -(id)initWithType:(DGActivityIndicatorAnimationType)type;
13 | [Export("initWithType:")]
14 | IntPtr Constructor(DGActivityIndicatorAnimationType type);
15 |
16 | // -(id)initWithType:(DGActivityIndicatorAnimationType)type tintColor:(UIColor *)tintColor;
17 | [Export("initWithType:tintColor:")]
18 | IntPtr Constructor(DGActivityIndicatorAnimationType type, UIColor tintColor);
19 |
20 | // -(id)initWithType:(DGActivityIndicatorAnimationType)type tintColor:(UIColor *)tintColor size:(CGFloat)size;
21 | [Export("initWithType:tintColor:size:")]
22 | IntPtr Constructor(DGActivityIndicatorAnimationType type, UIColor tintColor, nfloat size);
23 |
24 | // @property (nonatomic) DGActivityIndicatorAnimationType type;
25 | [Export("type", ArgumentSemantic.Assign)]
26 | DGActivityIndicatorAnimationType Type { get; set; }
27 |
28 | // @property (nonatomic, strong) UIColor * tintColor;
29 | [Export("tintColor", ArgumentSemantic.Strong)]
30 | UIColor TintColor { get; set; }
31 |
32 | // @property (nonatomic) CGFloat size;
33 | [Export("size")]
34 | nfloat Size { get; set; }
35 |
36 | // @property (readonly, nonatomic) BOOL animating;
37 | [Export("animating")]
38 | bool Animating { get; }
39 |
40 | // -(void)startAnimating;
41 | [Export("startAnimating")]
42 | void StartAnimating();
43 |
44 | // -(void)stopAnimating;
45 | [Export("stopAnimating")]
46 | void StopAnimating();
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 |
4 | using Foundation;
5 |
6 | // This attribute allows you to mark your assemblies as “safe to link”.
7 | // When the attribute is present, the linker—if enabled—will process the assembly
8 | // even if you’re using the “Link SDK assemblies only” option, which is the default for device builds.
9 |
10 | [assembly: LinkerSafe]
11 |
12 | // Information about this assembly is defined by the following attributes.
13 | // Change them to the values specific to your project.
14 |
15 | [assembly: AssemblyTitle("Xamarin.iOS.DGActivityIndicatorViewBinding")]
16 | [assembly: AssemblyDescription("")]
17 | [assembly: AssemblyConfiguration("")]
18 | [assembly: AssemblyCompany("jzeferino")]
19 | [assembly: AssemblyProduct("")]
20 | [assembly: AssemblyCopyright("jzeferino - 2016")]
21 | [assembly: AssemblyTrademark("jzeferino")]
22 | [assembly: AssemblyCulture("")]
23 |
24 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
25 | // The form "{Major}.{Minor}.*" will automatically update the build and revision,
26 | // and "{Major}.{Minor}.{Build}.*" will update just the revision.
27 |
28 | [assembly: AssemblyVersion("1.0.*")]
29 |
30 | // The following attributes are used to specify the signing key for the assembly,
31 | // if desired. See the Mono documentation for more information about signing.
32 |
33 | //[assembly: AssemblyDelaySign(false)]
34 | //[assembly: AssemblyKeyFile("")]
35 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding/Structs.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using ObjCRuntime;
3 |
4 | namespace Xamarin.iOS.DGActivityIndicatorViewBinding
5 | {
6 | [Native]
7 | public enum DGActivityIndicatorAnimationType : ulong
8 | {
9 | NineDots,
10 | TriplePulse,
11 | FiveDots,
12 | RotatingSquares,
13 | DoubleBounce,
14 | TwoDots,
15 | ThreeDots,
16 | BallPulse,
17 | BallClipRotate,
18 | BallClipRotatePulse,
19 | BallClipRotateMultiple,
20 | BallRotate,
21 | BallZigZag,
22 | BallZigZagDeflect,
23 | BallTrianglePath,
24 | BallScale,
25 | LineScale,
26 | LineScaleParty,
27 | BallScaleMultiple,
28 | BallPulseSync,
29 | BallBeat,
30 | LineScalePulseOut,
31 | LineScalePulseOutRapid,
32 | BallScaleRipple,
33 | BallScaleRippleMultiple,
34 | TriangleSkewSpin,
35 | BallGridBeat,
36 | BallGridPulse,
37 | RotatingSandglass,
38 | RotatingTrigons,
39 | TripleRings,
40 | CookieTerminator,
41 | BallSpinFadeLoader
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding/Xamarin.iOS.DGActivityIndicatorViewBinding.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | {0E5586D9-48EE-4444-A13B-577474CB416D}
7 | {8FFB629D-F513-41CE-95D2-7ECE97B6EEEC};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8 | Library
9 | Xamarin.iOS.DGActivityIndicatorViewBinding
10 | Xamarin.iOS.DGActivityIndicatorViewBinding
11 | Resources
12 |
13 |
14 | true
15 | full
16 | false
17 | bin\Debug
18 | DEBUG;
19 | prompt
20 | 4
21 | true
22 |
23 |
24 | true
25 | bin\Release
26 |
27 | prompt
28 | 4
29 | true
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 | Static
48 | False
49 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding/libDGActivityIndicatorView.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jzeferino/Xamarin.iOS.DGActivityIndicatorView/1a4d07158340c996bb064637c850ea94411fe770/src/Xamarin.iOS.DGActivityIndicatorViewBinding/libDGActivityIndicatorView.a
--------------------------------------------------------------------------------
/src/Xamarin.iOS.DGActivityIndicatorViewBinding/libDGActivityIndicatorView.linkwith.cs:
--------------------------------------------------------------------------------
1 | using ObjCRuntime;
2 |
3 | [assembly: LinkWith("libDGActivityIndicatorView.a", LinkTarget.Simulator | LinkTarget.Simulator64 | LinkTarget.ArmV7 | LinkTarget.Arm64,
4 | SmartLink = true,
5 | ForceLoad = false,
6 | Frameworks = "QuartzCore",
7 | LinkerFlags = "-ObjC")]
8 |
--------------------------------------------------------------------------------
/tools/packages.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------