using System; using Shared.IOS.TBL; namespace Shared { /// /// GestureLockView /// public class GestureLockView : View { /// /// 当前视图 /// /// The GestureLockView. HDLGestureLockView mHDLGestureLockView { get { return uiView as HDLGestureLockView; } set { uiView = value; } } /// /// 构造函数 /// public GestureLockView() { mHDLGestureLockView = new HDLGestureLockView { Delegate = new OnLockVerifyListener(this) }; } /// /// 刷新布局 /// private void RefreshFrame() { mHDLGestureLockView.InitWithFrameLockView(new CoreGraphics.CGRect(base.X, base.Y, base.Width, base.Height)); } /// /// 控件宽度 /// public override int Width { get { return base.Width; } set { base.Width = value; RefreshFrame(); } } /// /// 控件的高度 /// public override int Height { get { return base.Height; } set { base.Height = value; RefreshFrame(); } } /// /// 控件的X坐标 /// public override int X { get { return base.X; } set { base.X = value; RefreshFrame(); } } /// /// 控件的X坐标 /// public override int Y { get { return base.Y; } set { base.Y = value; RefreshFrame(); } } /// /// 设置正确和普通时的颜色 /// /// 线颜色 public uint LockViewCorrectColor { set { byte r, g, b, a; r = (byte)(value / 256 / 256 % 256); g = (byte)(value / 256 % 256); b = (byte)(value % 256); a = (byte)(value / 256 / 256 / 256 % 256); mHDLGestureLockView.SelectedLineColor = UIKit.UIColor.FromRGBA(r, g, b, a); } } /// /// 设置错误时的颜色 /// /// 线颜色 public uint LockViewErrorColor { set { byte r, g, b, a; r = (byte)(value / 256 / 256 % 256); g = (byte)(value / 256 % 256); b = (byte)(value % 256); a = (byte)(value / 256 / 256 / 256 % 256); mHDLGestureLockView.ErrorLineColor = UIKit.UIColor.FromRGBA(r, g, b, a); //mHDLArcSeekBar.SetProgressTextColor(UIKit.UIColor.FromRGBA(r, g, b, a)); } } /// /// 显示手势解锁view 是否显示正确 /// public void showCorrectStatus(bool isTrue) { mHDLGestureLockView.ShowErrorStatus = !isTrue; } /// /// Action /// public Action OnLockVerifyEvent; /// /// OnLockVerifyListener 手势滑动结束 /// OnLockVerifyListener mOnLockVerifyListener; public class OnLockVerifyListener : SSGestureLockViewDelegate { [Weak] GestureLockView _GestureLockView; public OnLockVerifyListener(GestureLockView view) { _GestureLockView = view; } public override void onDidSelectedGestureLockView(string selectNumStr, int selectCount) { _GestureLockView.OnLockVerifyEvent?.Invoke(selectNumStr, selectCount); } //public override void SelectIndex2(nint selectIndex1, nint selectIndex2, nint selectIndex3) //{ // _GestureLockView.OnLockVerifyEvent?.Invoke(); //} //public override void OnProgressChanged(int mProgress) //{ // _WaveSeekBar.OnProgressChangedEvent?.Invoke(this, mProgress); //} } } }