void DismissMessage(MessageView messageView) { if (messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate(DismissAnimationDuration, delegate { messageView.Frame = new RectangleF( messageView.Frame.X, -(messageView.Frame.Height - MessageBarOffset), messageView.Frame.Width, messageView.Frame.Height); }, delegate { MessageVisible = false; messageView.RemoveFromSuperview(); var action = messageView.OnDismiss; if (action != null) { action(); } if (MessageBarQueue.Count > 0) { ShowNextMessage(); } } ); } }
async void DismissMessage(MessageView messageView, bool clicked) { if (messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate(AnimationDuration + .1, 0, UIViewAnimationOptions.CurveEaseOut, () => { //messageView.Alpha = 0f; messageView.Frame = new CGRect(messageView.Frame.X, initialPosition, messageView.Frame.Width, messageView.Frame.Height); }, () => { MessageVisible = false; messageView.RemoveFromSuperview(); var action = messageView.OnDismiss; if (action != null) { action(clicked); } if (MessageBarQueue.Count > 0) { ShowNextMessage(); } else { lastMessage = null; } }); } }
void DismissMessage(MessageView messageView) { if (messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate(DismissAnimationDuration, delegate { messageView.Frame = new CGRect( messageView.Frame.X, initialPosition, messageView.Frame.Width, messageView.Frame.Height); }, delegate { MessageVisible = false; messageView.RemoveFromSuperview(); messageView.OnDismiss?.Invoke(); if (MessageBarQueue.Count > 0) { ShowNextMessage(); } else { lastMessage = null; } } ); } }
/// <summary> /// Dismisses the message. /// </summary> /// <param name="messageView"> /// The message view. /// </param> /// <param name="dismissedByTap"> /// if set to <c>true</c> [dismissed by tap]. /// </param> private void DismissMessage(MessageView messageView, bool dismissedByTap) { if (messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate( DismissAnimationDuration, () => { messageView.Frame = new CGRect( messageView.Frame.X, this.initialPosition, messageView.Frame.Width, messageView.Frame.Height); }, () => { this.MessageVisible = false; messageView.RemoveFromSuperview(); InvokeDismissEvent(messageView, dismissedByTap); if (this.MessageBarQueue.Count > 0) { this.ShowNextMessage(); } else { this.lastMessage = null; } }); } }
/// <summary> /// Hides all currently-displayed messages, and discards the Message queue. /// </summary> public void HideAll() { var subviews = this.MessageWindowView.Subviews; foreach (UIView subview in subviews) { var view = subview as MessageView; if (view != null) { MessageView currentMessageView = view; currentMessageView.RemoveFromSuperview(); } } this.MessageVisible = false; this.MessageBarQueue.Clear(); CancelPreviousPerformRequest(this); }
/// <summary> /// Hides all messages /// </summary> public void HideAll() { MessageView currentMessageView = null; var subviews = UIApplication.SharedApplication.KeyWindow.Subviews; foreach (UIView subview in subviews) { var view = subview as MessageView; if (view != null) { currentMessageView = view; currentMessageView.RemoveFromSuperview(); } } MessageVisible = false; MessageBarQueue.Clear(); CancelPreviousPerformRequest(this); }
void DismissMessage (MessageView messageView) { if (messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate (DismissAnimationDuration, delegate { messageView.Frame = new CGRect ( messageView.Frame.X, initialPosition, messageView.Frame.Width, messageView.Frame.Height); }, delegate { MessageVisible = false; messageView.RemoveFromSuperview (); messageView.OnDismiss?.Invoke(); if (MessageBarQueue.Count > 0) { ShowNextMessage (); } else { lastMessage = null; } } ); } }
void DismissMessage (MessageView messageView) { if (messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate (DismissAnimationDuration, delegate { messageView.Frame = new RectangleF ( messageView.Frame.X, - (messageView.Frame.Height - MessageBarOffset), messageView.Frame.Width, messageView.Frame.Height); }, delegate { MessageVisible = false; messageView.RemoveFromSuperview (); var action = messageView.OnDismiss; if (action != null) { action (); } if (MessageBarQueue.Count > 0) { ShowNextMessage (); } } ); } }
async void DismissMessage(MessageView messageView, bool clicked) { if(messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate(AnimationDuration + .1, 0, UIViewAnimationOptions.CurveEaseOut, () => { //messageView.Alpha = 0f; messageView.Frame = new CGRect(messageView.Frame.X, initialPosition, messageView.Frame.Width, messageView.Frame.Height); }, () => { MessageVisible = false; messageView.RemoveFromSuperview(); var action = messageView.OnDismiss; if(action != null) { action(clicked); } if(MessageBarQueue.Count > 0) { ShowNextMessage(); } else { lastMessage = null; } }); } }
/// <summary> /// Dismisses the message. /// </summary> /// <param name="messageView"> /// The message view. /// </param> /// <param name="dismissedByTap"> /// if set to <c>true</c> [dismissed by tap]. /// </param> private void DismissMessage(MessageView messageView, bool dismissedByTap) { if (messageView != null && !messageView.Hit) { messageView.Hit = true; UIView.Animate( DismissAnimationDuration, () => { messageView.Frame = new CGRect( messageView.Frame.X, this.initialPosition, messageView.Frame.Width, messageView.Frame.Height); }, () => { this.MessageVisible = false; messageView.RemoveFromSuperview(); InvokeDismissEvent(messageView, dismissedByTap); if (this.MessageBarQueue.Count > 0) { this.ShowNextMessage(); } else { this.lastMessage = null; } }); } }