private void Initialize(UIColor color) { View.Frame = UIScreen.MainScreen.Bounds; View.AutoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth; View.BackgroundColor = new UIColor(red: 0, green: 0, blue: 0, alpha: kBackgroundTransparency); tappableView.BackgroundColor = UIColor.Clear; tappableView.Frame = View.Frame; View.AddSubview(tappableView); backgroundColor = color; SetupContainerView(); //View.AddSubview(containerView); //Retaining itself strongly so can exist without strong refrence strongSelf = this; }
/** * Hides the dialog, sending a callback if provided when dialog was shown * :params: buttonIndex The tag index of the button which was clicked */ internal virtual void HideDialog(int buttonIndex, bool userCancelled) { if (buttonIndex >= 0) { userAction?.Invoke(buttonIndex > 0); } if (buttonIndex < 0 && _hideDialogOnTapOnOverlay && userCancelled) { _cancelAction?.Invoke(); } tappableView.RemoveGestureRecognizer(tapGesture); foreach (var childView in View.Subviews) { childView.RemoveFromSuperview(); } View.RemoveFromSuperview(); strongSelf = null; }