Skip to content

Instantly share code, notes, and snippets.

@rdelrosario
Created July 16, 2020 16:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rdelrosario/4366e9aa8196df6cf207c873c7b51caa to your computer and use it in GitHub Desktop.
Save rdelrosario/4366e9aa8196df6cf207c873c7b51caa to your computer and use it in GitHub Desktop.
using System;
using System.Linq;
using CoreGraphics;
using PayCards;
using UIKit;
namespace PayCardRecognizerSample.iOS
{
public partial class RecognizerViewController : UIViewController
{
IPayCardsRecognizerPlatformDelegate _recognizerDelegate;
PayCardsRecognizer _recognizer;
UIButton _closeButton;
public RecognizerViewController(IPayCardsRecognizerPlatformDelegate recognizerDelegate) : base()
{
_recognizerDelegate = recognizerDelegate;
}
public RecognizerViewController(IntPtr handle) : base(handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
_recognizer = new PayCardsRecognizer(_recognizerDelegate,PayCardsRecognizerResultMode.Async, container: View, UIColor.Green);
_closeButton = new UIButton(UIButtonType.Close);
_closeButton.TouchUpInside += Close;
}
private void Close(object sender, EventArgs e)
{
DismissViewController(true, null);
}
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
_recognizer.StartCamera();
var sb = View.Subviews.FirstOrDefault();
if(_closeButton.Superview == null)
{
_closeButton.SetTitle("Close", UIControlState.Normal);
sb.AddSubview(_closeButton);
_closeButton.Frame = new CGRect(sb.Bounds.Width - 100, 0, 100, 80);
}
}
public override void ViewDidDisappear(bool animated)
{
base.ViewDidDisappear(animated);
_recognizer.StopCamera();
}
public override void DidReceiveMemoryWarning()
{
base.DidReceiveMemoryWarning();
// Release any cached data, images, etc that aren't in use.
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
_closeButton.TouchUpInside -= Close;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment