This is a migrated thread and some comments may be shown as answers.

Change 'RemoveButton' 'X' icon in TKAutoCompleteTokenView

2 Answers 65 Views
AutoCompleteTextView - Xamarin.iOS
This is a migrated thread and some comments may be shown as answers.
Andy
Top achievements
Rank 1
Andy asked on 01 Feb 2018, 02:39 PM

Hi,

 

I was trying to replace the 'X' image in 'CloseButton' for the Token, but I cannot remove the original image

This is my code inside of TKAutoCompleteDelegate class:

 

public class TKAutoCompleteDelegateWrap : TKAutoCompleteDelegate
    {
        //public List<UserAndGroupResult> UserToSendList { get; set; }

        public override void DidAddToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
        {
            var t = ((TKSuggestionListView)autocomplete.WeakSuggestionView).SelectedIndexPath;
            var tt = t.Row;

            var tt1 = (TKAutoCompleteTokenWrap)token;
            Console.Write(tt1.Id);
            ((TKListView)autocomplete.WeakSuggestionView).ScrollToItem(((TKSuggestionListView)autocomplete.WeakSuggestionView).SelectedIndexPath, UICollectionViewScrollPosition.Top, true);
        }
        public override void DidSelectToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
        {
            Console.WriteLine();
        }

        public override void DidAutoComplete(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
        {
            
        }
        public override void DidRemoveToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
        {
            
        }

        public override TKAutoCompleteTokenView ViewForToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
        {
            TKAutoCompleteTokenView tokenView = new TKAutoCompleteTokenView(token);

            tokenView.BackgroundColor = GlobalUI.LABEL_TEXT_COLOR_DARK;
            tokenView.TextLabel.Font = UIFont.FromName(GlobalUI.FONT_NEXT, 15);
            tokenView.TextLabel.TextColor = StyleKit.White;

            tokenView.Layer.CornerRadius = 5;
            tokenView.ImageView.Layer.CornerRadius = 3;

            TKAutoCompleteTokenRemoveButton _closeBtn = (TKAutoCompleteTokenRemoveButton)tokenView.RemoveButton; 
            _closeBtn.SetImage(StyleKit.ImageOfX_Ico_White(new CGSize(10,10)), UIControlState.Normal);
         
            return tokenView;
        }

    }

 

So, The attached file is showing that I am getting two images over one other.

 

how can I do to fix that?

 

Thanks.

 

 

 

2 Answers, 1 is accepted

Sort by
0
Accepted
Nikolay
Telerik team
answered on 02 Feb 2018, 11:30 AM
Hello Andy,

Thank you for contacting us.

The default "X" icon in the tokens is not removed after setting your own image, because the "X" symbol is actually drawn inside the button. The easiest way to remove it is to set TintColor property of the TokenView button to transparent color. Here is a simple code snipped of how you can achieve this:

TKAutoCompleteTokenRemoveButton _closeBtn = (TKAutoCompleteTokenRemoveButton)tokenView.RemoveButton;
_closeBtn.TintColor = UIColor.FromRGBA(0, 0, 0, 0);


I hope I've been helpful.

Regards,
Nikolay
Progress Telerik
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
0
Andy
Top achievements
Rank 1
answered on 09 Feb 2018, 02:16 PM
It works! Thank you!
Tags
AutoCompleteTextView - Xamarin.iOS
Asked by
Andy
Top achievements
Rank 1
Answers by
Nikolay
Telerik team
Andy
Top achievements
Rank 1
Share this question
or