void HandlePenButtonTouchUpInside(object sender, EventArgs e) { if (penPicker == null) { penPicker = new PenPickerBar(new CGRect(backgroundView.Frame.Right, penButton.Frame.Y - ((85f - penButton.Frame.Height) / 2f), 180, 85)); penPicker.PenSelectedEvent += HandlePenSelectedEvent; penPicker.HighlighterSelectedEvent += HandleHighlighterSelectedEvent; this.AddSubview(penPicker); ShowPenPickerBar(); } else { HidePenPickerBar(true); } }
private void HidePenPickerBar(bool updateFrame) { penButton.Selected = false; if (penPicker != null) { penPicker.Transform = CGAffineTransform.MakeIdentity(); UIView.Animate(0.2d, 0d, UIViewAnimationOptions.CurveEaseOut, delegate { penPicker.Transform = CGAffineTransform.MakeScale(0.01f, 0.01f); }, delegate { if (updateFrame) { UpdateFrame(new CGRect(this.Frame.X, this.Frame.Y, backgroundView.Frame.Right, this.Frame.Height)); } penPicker.RemoveFromSuperview(); penPicker.Dispose(); penPicker = null; }); } }