private void Resize() { AddressTextView.UserInteractionEnabled = IsSelected; var sizeThatFits = StreetNumberTextView.GetSizeThatFits(StreetNumberTextView.Text, StreetNumberTextView.Font); _streetNumberTextViewWidthConstraint.Constant = (float)Math.Max(sizeThatFits.Width + 30f, MinimumStreetNumberTextViewWidth); if (IsSelected) { StreetNumberRoundedCornerView.BackgroundColor = GetColor(); HorizontalDividerTop.Hidden = !IsDestination; } SetNeedsLayout(); }
private void SetBehavior() { //Order is important NumberAndAddressTextFieldBehavior.ApplyTo(AddressTextView, StreetNumberTextView, () => CurrentAddress, number => { if (AddressUpdated != null) { AddressUpdated(number); } }); StreetNumberTextView.TapAnywhereToClose(() => this.Superview.Superview.Superview); StreetNumberTextView.ValueChanged += (sender, e) => Resize(); StreetNumberTextView.EditingDidBegin += (sender, e) => { if (string.IsNullOrWhiteSpace(StreetNumberTextView.Text)) { StreetNumberTextView.ResignFirstResponder(); if (AddressClicked != null) { AddressClicked(this, EventArgs.Empty); } return; } StreetNumberRoundedCornerView.Hidden = false; VerticalDivider.Hidden = true; Resize(); }; StreetNumberTextView.EditingDidEnd += (sender, e) => { StreetNumberRoundedCornerView.Hidden = true; VerticalDivider.Hidden = false; Resize(); }; }