void ReleaseDesignerOutlets() { if (CollectionView != null) { CollectionView.Dispose(); CollectionView = null; } if (HeaderImageButton != null) { HeaderImageButton.Dispose(); HeaderImageButton = null; } if (NoOutletsButton != null) { NoOutletsButton.Dispose(); NoOutletsButton = null; } if (TitleTextField != null) { TitleTextField.Dispose(); TitleTextField = null; } if (UserDisplayNameTextField != null) { UserDisplayNameTextField.Dispose(); UserDisplayNameTextField = null; } }
public void AddUserImage(string url) { if (String.IsNullOrEmpty(url)) { HeaderImageButton.SetImage(null, new UIControlState()); } else { HeaderImageButton.SetImage(url, "NoProfile", "NoProfile"); } }
public void ToggleLoadingIndicators(bool visible) { if (visible) { HeaderImageButton.ShowDimmedView(); HeaderImageButton.ShowLoadingIndicators(); } else { HeaderImageButton.HideLoadingIndicators(); } }
public void BindDataToView(Card card, bool editable, NSIndexPath indexPath, bool reloadImages) { if (card == null) { return; } BackgroundColor = ColorUtils.FromHexString(card.BorderColor, UIColor.White); UserDisplayNameTextField.Text = card.UserDisplayName; UserDisplayNameTextField.Placeholder = (editable) ? Strings.Basic.your_name : String.Empty; UserDisplayNameTextField.Enabled = editable; UserDisplayNameTextField.RemoveTarget(null, null, UIControlEvent.EditingChanged); UserDisplayNameTextField.EditingChanged += (sender, e) => { card.UpdateStringProperty(() => card.UserDisplayName, UserDisplayNameTextField.Text.Trim()); DealWithTextFieldborder(UserDisplayNameTextField, card, editable); NSNotificationCenter.DefaultCenter.PostNotificationName(Strings.InternalNotifications.notification_card_editing_changed, null); }; UserDisplayNameTextField.RemoveTarget(null, null, UIControlEvent.EditingDidEndOnExit); UserDisplayNameTextField.EditingDidEndOnExit += (sender, e) => { UserDisplayNameTextField.ResignFirstResponder(); }; DealWithTextFieldborder(UserDisplayNameTextField, card, editable); TitleTextField.Text = card.Title; TitleTextField.Enabled = editable; TitleTextField.Placeholder = (editable) ? Strings.Basic.title : String.Empty; TitleTextField.RemoveTarget(null, null, UIControlEvent.EditingChanged); TitleTextField.EditingChanged += (sender, e) => { card.UpdateStringProperty(() => card.Title, TitleTextField.Text.Trim()); DealWithTextFieldborder(TitleTextField, card, editable); NSNotificationCenter.DefaultCenter.PostNotificationName(Strings.InternalNotifications.notification_card_editing_changed, null); }; TitleTextField.RemoveTarget(null, null, UIControlEvent.EditingDidEndOnExit); TitleTextField.EditingDidEndOnExit += (sender, e) => { TitleTextField.ResignFirstResponder(); }; DealWithTextFieldborder(TitleTextField, card, editable); if (reloadImages) { HeaderImageButton.SetImageWithCustomCache(card.GetRemoteHeaderUrlCached(), "NoProfile", "NoProfile", card.RemoteHeaderURL); } HeaderImageButton.Layer.MasksToBounds = true; HeaderImageButton.Layer.CornerRadius = HeaderImageButton.Frame.Size.Width / 2; HeaderImageButton.ClipsToBounds = false; HeaderImageButton.UserInteractionEnabled = editable; CollectionView.RegisterNibForCell(UINib.FromName("MyCardsCollectionViewCell", NSBundle.MainBundle), MyCardsCollectionViewCell.Key); CollectionView.ContentInset = new UIEdgeInsets(0, 8, 0, 8); CollectionView.WeakDataSource = new MyCardsTableViewCellCollectionViewDataSource(card); CollectionView.WeakDelegate = new MyCardsTableViewCellCollectionViewDelegateFlowLayout(); if (CollectionViewTapGesture == null) { CollectionViewTapGesture = new UITapGestureRecognizer((obj) => { NSNotificationCenter.DefaultCenter.PostNotificationName(Strings.InternalNotifications.notification_collection_view_tapped, indexPath); }); } CollectionView.RemoveGestureRecognizer(CollectionViewTapGesture); CollectionView.AddGestureRecognizer(CollectionViewTapGesture); NoOutletsButton.Hidden = !(card.Outlets == null || card.Outlets.Count == 0); }