Пример #1
0
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();

			this.View.BackgroundColor = UIColor.FromRGB (239, 239, 244);

			AddOption ("Contains", "Completion Modes", () => ContainsSelected());
			AddOption ("Starts With", "Completion Modes", () => PrefixSelected());

			AddOption ("Append","Suggest Modes", () => AppendSelected());
			AddOption ("Suggest-Append", "Suggest Modes", () => SuggestAppendSelected());
			AddOption ("Suggest", "Suggest Modes", () => SuggestSelected());
			this.SetSelectedOption (2, 1);

			this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width - 20, 30));
			this.AutomaticallyAdjustsScrollViewInsets = false;

			this.Datasource = new TKDataSource ();
			this.Datasource.Settings.AutoComplete.CompletionMode = TKAutoCompleteCompletionMode.Contains;
			this.Datasource.LoadDataFromJSONResource("countries", "json", "data");
			this.Datasource.Settings.AutoComplete.CreateToken (delegate(nuint index, NSObject item) {
				TKAutoCompleteToken token = new TKAutoCompleteToken((NSString)(item.ValueForKey(new NSString("country"))));
				token.Image = UIImage.FromBundle((NSString)item.ValueForKey(new NSString("flag")));
				return token;
			});
				
			this.Autocomplete.WeakDataSource = this.Datasource;
			this.Autocomplete.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
			this.Autocomplete.TextField.Placeholder = "Choose country";
			this.Autocomplete.CloseButton.SetImage (UIImage.FromBundle ("clear.png"), UIControlState.Normal);
			this.Autocomplete.ImageView.Image = UIImage.FromBundle (new NSString("search.png"));
			this.Autocomplete.MinimumCharactersToSearch = 1;
			this.Autocomplete.SuggestionViewHeight = this.View.Bounds.Height - this.View.Bounds.Y + 45;
			this.View.AddSubview (this.Autocomplete);
		}
Пример #2
0
        public override void CompletionForString(TKAutoCompleteTextView autocomplete, NSString input)
        {
            prefix = input;
            DispatchQueue queue = DispatchQueue.GetGlobalQueue(DispatchQueuePriority.High);

            queue.DispatchAsync(delegate { ReloadData(autocomplete); });
        }
Пример #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.View.BackgroundColor = UIColor.FromRGB(239, 239, 244);

            AddOption("Contains", "Completion Modes", () => ContainsSelected());
            AddOption("Starts With", "Completion Modes", () => PrefixSelected());

            AddOption("Append", "Suggest Modes", () => AppendSelected());
            AddOption("Suggest-Append", "Suggest Modes", () => SuggestAppendSelected());
            AddOption("Suggest", "Suggest Modes", () => SuggestSelected());
            this.SetSelectedOption(2, 1);

            this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width - 20, 30));
            this.AutomaticallyAdjustsScrollViewInsets = false;

            this.Datasource = new TKDataSource();
            this.Datasource.Settings.AutoComplete.CompletionMode = TKAutoCompleteCompletionMode.Contains;
            this.Datasource.LoadDataFromJSONResource("countries", "json", "data");
            this.Datasource.Settings.AutoComplete.CreateToken(delegate(nuint index, NSObject item) {
                TKAutoCompleteToken token = new TKAutoCompleteToken((NSString)(item.ValueForKey(new NSString("country"))));
                token.Image = UIImage.FromBundle((NSString)item.ValueForKey(new NSString("flag")));
                return(token);
            });

            this.Autocomplete.WeakDataSource        = this.Datasource;
            this.Autocomplete.AutoresizingMask      = UIViewAutoresizing.FlexibleWidth;
            this.Autocomplete.TextField.Placeholder = "Choose country";
            this.Autocomplete.CloseButton.SetImage(UIImage.FromBundle("clear.png"), UIControlState.Normal);
            this.Autocomplete.ImageView.Image           = UIImage.FromBundle(new NSString("search.png"));
            this.Autocomplete.MinimumCharactersToSearch = 1;
            this.Autocomplete.SuggestionViewHeight      = this.View.Bounds.Height - this.View.Bounds.Y + 45;
            this.View.AddSubview(this.Autocomplete);
        }
Пример #4
0
		public override void CompletionForString (TKAutoCompleteTextView autocomplete, NSString input)
		{
			prefix = input;
			DispatchQueue queue = DispatchQueue.GetGlobalQueue (DispatchQueuePriority.High);
			queue.DispatchAsync(delegate {ReloadData(autocomplete);});


		}
Пример #5
0
 public override TKAutoCompleteTokenView ViewForToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
 {
     TKAutoCompleteTokenView tokenView = new TKAutoCompleteTokenView(token);
     tokenView.BackgroundColor = new UIColor(0.090f, 0.537f, 0.965f, 1.00f);
     tokenView.Layer.CornerRadius = 10;
     tokenView.ImageView.Layer.CornerRadius = 10;
     return tokenView;
 }
Пример #6
0
		public override TKAutoCompleteTokenView ViewForToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
		{
			TKAutoCompleteTokenView tokenView = new TKAutoCompleteTokenView(token);
			tokenView.BackgroundColor = UIColor.LightGray;
			tokenView.Layer.CornerRadius = 10;
			tokenView.ImageView.Layer.CornerRadius = 3;
			return tokenView;
		}
Пример #7
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            this.View.BackgroundColor = UIColor.FromRGB(239, 239, 244);
            TKView view = new TKView(this.View.Bounds);

            view.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            view.Fill             = TKLinearGradientFill.WithColors(new UIColor[] {
                new UIColor(0.35f, 0.68f, 0.89f, 0.89f),
                new UIColor(0.35f, 0.68f, 1.0f, 1.0f),
                new UIColor(0.85f, 0.8f, 0.2f, 0.8f)
            });
            this.View.AddSubview(view);

            this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width - 20, 35));
            this.Autocomplete.SuggestionViewOutOfFrame = true;
            this.AutomaticallyAdjustsScrollViewInsets  = false;

            this.Datasource = new TKDataSource();
            this.Datasource.LoadDataFromJSONResource("namesPhotos", "json", "data");
            this.Datasource.Settings.AutoComplete.CreateToken(delegate(nuint index, NSObject item) {
                TKAutoCompleteToken token = new TKAutoCompleteToken((NSString)(item.ValueForKey(new NSString("name"))));
                token.Image = UIImage.FromBundle((NSString)item.ValueForKey(new NSString("photo")));
                return(token);
            });

            TKListView listView = (TKListView)this.Autocomplete.WeakSuggestionView;

            listView.BackgroundColor = UIColor.Clear;
            listView.Frame           = new CGRect(10, this.View.Bounds.Y + 15 + this.Autocomplete.Bounds.Height, this.View.Bounds.Size.Width - 20, this.View.Bounds.Height - (15 + this.Autocomplete.Bounds.Height));
            listView.RemoveFromSuperview();
            listView.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
            this.View.AddSubview(listView);
            listView.RegisterClassForCell(new Class(typeof(ImageWithTextListViewCell)), "cell");

            TKListViewGridLayout layout = new TKListViewGridLayout();

            layout.ItemAlignment = TKListViewItemAlignment.Center;
            layout.SpanCount     = 2;
            layout.ItemSize      = new CGSize(150, 200);
            layout.LineSpacing   = 60;
            layout.ItemSpacing   = 10;
            listView.Layout      = layout;

            this.Autocomplete.SuggestMode           = TKAutoCompleteSuggestMode.SuggestAppend;
            this.Autocomplete.AutoresizingMask      = UIViewAutoresizing.FlexibleWidth;
            this.Autocomplete.MaximumWrapHeight     = 80;
            this.Autocomplete.WeakDataSource        = this.Datasource;
            this.Autocomplete.TextField.Placeholder = "Enter Users";
            this.Autocomplete.NoResultsLabel.Text   = "No Users Found";
            this.Autocomplete.CloseButton.SetImage(UIImage.FromBundle("clear.png"), UIControlState.Normal);
            this.Autocomplete.ImageView.Image       = UIImage.FromBundle(new NSString("search.png"));
            this.Autocomplete.BackgroundColor       = UIColor.White;
            this.Autocomplete.WeakDelegate          = autocompleteDelegate;
            this.Autocomplete.ShowAllItemsInitially = true;
            this.View.AddSubview(this.Autocomplete);
        }
Пример #8
0
        public override TKAutoCompleteTokenView ViewForToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
        {
            TKAutoCompleteTokenView tokenView = new TKAutoCompleteTokenView(token);

            tokenView.BackgroundColor              = UIColor.LightGray;
            tokenView.Layer.CornerRadius           = 10;
            tokenView.ImageView.Layer.CornerRadius = 5;
            return(tokenView);
        }
Пример #9
0
        public override TKAutoCompleteTokenView ViewForToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
        {
            TKAutoCompleteTokenView tokenView = new TKAutoCompleteTokenView(token);

            tokenView.BackgroundColor              = new UIColor(0.090f, 0.537f, 0.965f, 1.00f);
            tokenView.Layer.CornerRadius           = 10;
            tokenView.ImageView.Layer.CornerRadius = 10;
            return(tokenView);
        }
Пример #10
0
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			this.View.BackgroundColor = UIColor.FromRGB (239, 239, 244);
			TKView view = new TKView (this.View.Bounds);
			view.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
			view.Fill = TKLinearGradientFill.WithColors (new UIColor[] { 
				new UIColor (0.35f, 0.68f, 0.89f, 0.89f), 
				new UIColor (0.35f, 0.68f, 1.0f, 1.0f), 
				new UIColor (0.85f, 0.8f, 0.2f, 0.8f)
			});
			this.View.AddSubview (view);

			this.Autocomplete = new TKAutoCompleteTextView (new CGRect (10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width-20, 35));
			this.Autocomplete.SuggestionViewOutOfFrame = true;
			this.AutomaticallyAdjustsScrollViewInsets = false;

			this.Datasource = new TKDataSource ();
			this.Datasource.LoadDataFromJSONResource ("namesPhotos", "json", "data");
			this.Datasource.Settings.AutoComplete.CreateToken (delegate(nuint index, NSObject item) {
				TKAutoCompleteToken token = new TKAutoCompleteToken ((NSString)(item.ValueForKey (new NSString ("name"))));
				token.Image = UIImage.FromBundle ((NSString)item.ValueForKey (new NSString ("photo")));
				return token;
			});

			TKListView listView = (TKListView)this.Autocomplete.WeakSuggestionView;
			listView.BackgroundColor = UIColor.Clear;
			listView.Frame = new CGRect (10, this.View.Bounds.Y + 15 + this.Autocomplete.Bounds.Height, this.View.Bounds.Size.Width-20, this.View.Bounds.Height - (15 + this.Autocomplete.Bounds.Height));
			listView.RemoveFromSuperview ();
			listView.AutoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight;
			this.View.AddSubview (listView);
			listView.RegisterClassForCell (new Class (typeof(ImageWithTextListViewCell)), "cell");

			TKListViewGridLayout layout = new TKListViewGridLayout ();
			layout.ItemAlignment = TKListViewItemAlignment.Center;
			layout.SpanCount = 2;
			layout.ItemSize = new CGSize (150, 200);
			layout.LineSpacing = 60;
			layout.ItemSpacing = 10;
			listView.Layout = layout;

			this.Autocomplete.SuggestMode = TKAutoCompleteSuggestMode.SuggestAppend;
			this.Autocomplete.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
			this.Autocomplete.MaximumWrapHeight = 80;
			this.Autocomplete.WeakDataSource = this.Datasource;
			this.Autocomplete.TextField.Placeholder = "Enter Users";
			this.Autocomplete.NoResultsLabel.Text = "No Users Found";
			this.Autocomplete.CloseButton.SetImage (UIImage.FromBundle ("clear.png"), UIControlState.Normal);
			this.Autocomplete.ImageView.Image = UIImage.FromBundle (new NSString ("search.png"));
			this.Autocomplete.BackgroundColor = UIColor.White;
			this.Autocomplete.WeakDelegate = autocompleteDelegate;
			this.Autocomplete.ShowAllItemsInitially = true;
			this.View.AddSubview (this.Autocomplete);
		}
Пример #11
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            this.View.BackgroundColor = UIColor.FromRGB(239, 239, 244);

            // >> autocmp-feed-cs
            NSString[] sampleArrayOfStrings = new NSString[] { new NSString("Kristina Wolfe"),
                                                               new NSString("Freda Curtis"),
                                                               new NSString("Jeffery Francis"),
                                                               new NSString("Eva Lawson"),
                                                               new NSString("Emmett Santos"),
                                                               new NSString("Theresa Bryan"),
                                                               new NSString("Jenny Fuller"),
                                                               new NSString("Terrell Norris"),
                                                               new NSString("Eric Wheeler"),
                                                               new NSString("Julius Clayton"),
                                                               new NSString("Alfredo Thornton"),
                                                               new NSString("Roberto Romero"),
                                                               new NSString("Orlando Mathis"),
                                                               new NSString("Eduardo Thomas"),
                                                               new NSString("Harry Douglas") };
            // << autocmp-feed-cs

            // >> autocmp-src-cs
            this.dataSource = new TKDataSource(sampleArrayOfStrings);
            this.dataSource.Settings.AutoComplete.CreateToken(delegate(nuint index, NSObject item) {
                TKAutoCompleteToken token = new TKAutoCompleteToken((NSString)item);
                return(token);
            });
            // << autocmp-src-cs

            // >> autocmp-init-cs
            this.AutomaticallyAdjustsScrollViewInsets = false;
            TKAutoCompleteTextView autocomplete = new TKAutoCompleteTextView(new CGRect(10, 80, this.View.Bounds.Width - 20, 30));

            autocomplete.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
            autocomplete.WeakDataSource   = this.dataSource;
            this.View.AddSubview(autocomplete);
            // << autocmp-init-cs

            // >> autocmp-char-cs
            autocomplete.MinimumCharactersToSearch = 1;
            autocomplete.SuggestionViewHeight      = this.View.Bounds.Size.Height / 2;
            // << autocmp-char-cs

            // >> autocmp-completion-cs
            this.dataSource.Settings.AutoComplete.CompletionMode = TKAutoCompleteCompletionMode.StartsWith;
            // << autocmp-completion-cs

            // >> autocmp-suggestmode-cs
            autocomplete.SuggestMode = TKAutoCompleteSuggestMode.SuggestAppend;
            // << autocmp-suggestmode-cs
        }
Пример #12
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            this.View.BackgroundColor = UIColor.FromRGB(239, 239, 244);

            this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width - 10, 30));
            this.AutomaticallyAdjustsScrollViewInsets = false;

            this.Datasource = new TKDataSource();
            this.Datasource.LoadDataFromJSONResource("namesPhotos", "json", "data");
            this.Datasource.Settings.AutoComplete.CreateToken(delegate(nuint index, NSObject item) {
                TKAutoCompleteToken token = new TKAutoCompleteToken((NSString)(item.ValueForKey(new NSString("name"))));
                token.Image = UIImage.FromBundle((NSString)item.ValueForKey(new NSString("photo")));
                return(token);
            });

            TKListView listView = (TKListView)this.Autocomplete.WeakSuggestionView;

            listView.RegisterClassForCell(new Class(typeof(PersonListViewCell)), "cell");

            TKListViewGridLayout layout = new TKListViewGridLayout();

            layout.ItemAlignment = TKListViewItemAlignment.Center;
            layout.SpanCount     = 2;
            layout.ItemSize      = new CGSize(120, 150);
            layout.LineSpacing   = 20;
            layout.ItemSpacing   = 20;
            listView.Layout      = layout;

            // >> autocmp-display-mode-cs
            this.Autocomplete.DisplayMode = TKAutoCompleteDisplayMode.Tokens;
            // << autocmp-display-mode-cs

            // >> autocmp-layout-mode-cs
            this.Autocomplete.LayoutMode = TKAutoCompleteLayoutMode.Wrap;
            // << autocmp-layout-mode-cs
            this.Autocomplete.AutoresizingMask          = UIViewAutoresizing.FlexibleWidth;
            this.Autocomplete.MaximumWrapHeight         = 150;
            this.Autocomplete.WeakDataSource            = this.Datasource;
            this.Autocomplete.TextField.Placeholder     = "Enter Users";
            this.Autocomplete.NoResultsLabel.Text       = "No Users Found";
            this.Autocomplete.ImageView.Image           = UIImage.FromBundle(new NSString("search.png"));
            this.Autocomplete.MinimumCharactersToSearch = 1;
            this.Autocomplete.WeakDelegate         = autocompleteDelegate;
            this.Autocomplete.SuggestionViewHeight = this.View.Bounds.Height - this.View.Bounds.Y + 45;
            this.View.AddSubview(this.Autocomplete);
        }
Пример #13
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            this.View.BackgroundColor = UIColor.FromRGB(239, 239, 244);
            dataSource = new AutoCompleteLoadDataDataSource();

            this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width - 20, 35));
            this.AutomaticallyAdjustsScrollViewInsets = false;

            this.Autocomplete.SuggestMode           = TKAutoCompleteSuggestMode.Suggest;
            this.Autocomplete.AutoresizingMask      = UIViewAutoresizing.FlexibleWidth;
            this.Autocomplete.TextField.Placeholder = "Search airports";
            this.Autocomplete.CloseButton.SetImage(UIImage.FromBundle("clear.png"), UIControlState.Normal);
            this.Autocomplete.ImageView.Image           = UIImage.FromBundle(new NSString("search.png"));
            this.Autocomplete.MinimumCharactersToSearch = 1;
            this.Autocomplete.SuggestionViewHeight      = this.View.Bounds.Height - this.View.Bounds.Y + 45;
            this.Autocomplete.WeakDataSource            = dataSource;
            this.View.AddSubview(this.Autocomplete);
        }
Пример #14
0
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			this.View.BackgroundColor = UIColor.FromRGB (239, 239, 244);
			dataSource = new AutoCompleteLoadDataDataSource ();

			this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width - 20, 35));
			this.AutomaticallyAdjustsScrollViewInsets = false;

			this.Autocomplete.SuggestMode = TKAutoCompleteSuggestMode.Suggest;
			this.Autocomplete.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
			this.Autocomplete.TextField.Placeholder = "Search airports";
			this.Autocomplete.CloseButton.SetImage (UIImage.FromBundle ("clear.png"), UIControlState.Normal);
			this.Autocomplete.ImageView.Image = UIImage.FromBundle (new NSString("search.png"));
			this.Autocomplete.MinimumCharactersToSearch = 1;
			this.Autocomplete.SuggestionViewHeight = this.View.Bounds.Height - this.View.Bounds.Y + 45;
			this.Autocomplete.WeakDataSource = dataSource;
			this.View.AddSubview (this.Autocomplete);
		}
Пример #15
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            NSNotificationCenter.DefaultCenter.AddObserver(UIKeyboard.DidShowNotification, (notification) => {
                NSValue nsKeyboardBounds = (NSValue)notification.UserInfo.ObjectForKey(UIKeyboard.BoundsUserInfoKey);
                CGRect keyboardBounds    = nsKeyboardBounds.RectangleFValue;
                var height = this.ExampleBounds.Height - keyboardBounds.Height;
                this.Autocomplete.SuggestionViewHeight = this.ExampleBounds.Height - (100 + height);
            });

            NSNotificationCenter.DefaultCenter.AddObserver(UIKeyboard.DidHideNotification, (notification) => {
                this.Autocomplete.SuggestionViewHeight = this.ExampleBounds.Height - 100;
            });

            this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.ExampleBounds.Y + 25, this.ExampleBounds.Size.Width - 10, 30));
            this.AutomaticallyAdjustsScrollViewInsets = false;

            UILabel title = new UILabel(new CGRect(10, this.ExampleBounds.Y, this.ExampleBounds.Width - 20, 20));

            title.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
            title.Text             = "Shipping country:";
            this.View.AddSubview(title);

            this.Datasource = new TKDataSource();
            this.Datasource.Settings.AutoComplete.CompletionMode = TKAutoCompleteCompletionMode.Contains;
            this.Datasource.LoadDataFromJSONResource("countries", "json", "data");
            this.Datasource.Settings.AutoComplete.CreateToken(delegate(nuint index, NSObject item) {
                TKAutoCompleteToken token = new TKAutoCompleteToken((NSString)(item.ValueForKey(new NSString("country"))));
                token.Image = new UIImage((NSString)item.ValueForKey(new NSString("flag")));
                return(token);
            });

            this.Autocomplete.WeakDataSource        = this.Datasource;
            this.Autocomplete.AutoresizingMask      = UIViewAutoresizing.FlexibleWidth;
            this.Autocomplete.TextField.Placeholder = "Choose country";
            this.Autocomplete.CloseButton.SetImage(new UIImage("clear.png"), UIControlState.Normal);
            this.Autocomplete.ImageView.Image           = new UIImage(new NSString("search.png"));
            this.Autocomplete.MinimumCharactersToSearch = 1;
            this.Autocomplete.SuggestionViewHeight      = this.ExampleBounds.Height - this.ExampleBounds.Y + 45;
            this.View.AddSubview(this.Autocomplete);
        }
Пример #16
0
        public void ReloadData(TKAutoCompleteTextView autocomplete)
        {
            NSMutableArray suggestions = new NSMutableArray();

            if (airports == null)
            {
                NSUrl         url = new NSUrl(urlStr);
                NSUrlRequest  req = new NSUrlRequest(url);
                NSUrlResponse res;
                NSData        dataVal    = new NSData();
                NSDictionary  jsonResult = new NSDictionary();
                NSError       error;
                NSError       errorReq;
                dataVal = NSUrlConnection.SendSynchronousRequest(req, out res, out errorReq);
                if (dataVal != null)
                {
                    jsonResult = (NSDictionary)NSJsonSerialization.Deserialize(dataVal, NSJsonReadingOptions.MutableContainers, out error);
                    if (error == null)
                    {
                        airports = (NSArray)jsonResult.ObjectForKey(new NSString("airports"));
                    }


                    for (nuint i = 0; i < airports.Count; i++)
                    {
                        NSDictionary item      = airports.GetItem <NSDictionary> (i);
                        NSString     name      = (NSString)item.ValueForKey(new NSString("FIELD2"));
                        NSString     shortName = (NSString)item.ValueForKey(new NSString("FIELD5"));
                        string       result    = String.Format("{0}, {1}", name.ToString(), shortName.ToString());

                        if (result.ToUpper().StartsWith(prefix.ToUpper()))
                        {
                            suggestions.Add(new TKAutoCompleteToken(new NSString(result)));
                        }
                    }
                }

                DispatchQueue queue = DispatchQueue.MainQueue;
                queue.DispatchAfter(DispatchTime.Now, delegate { autocomplete.CompleteSuggestionViewPopulation(suggestions); });
            }
        }
Пример #17
0
		public override void ViewDidLoad ()
		{
			base.ViewDidLoad ();
			this.View.BackgroundColor = UIColor.FromRGB (239, 239, 244);

			this.Autocomplete = new TKAutoCompleteTextView(new CGRect(10, this.View.Bounds.Y + 10, this.View.Bounds.Size.Width - 10, 30));
			this.AutomaticallyAdjustsScrollViewInsets = false;

			this.Datasource = new TKDataSource ();
			this.Datasource.LoadDataFromJSONResource("namesPhotos", "json", "data");
			this.Datasource.Settings.AutoComplete.CreateToken (delegate(nuint index, NSObject item) {
				TKAutoCompleteToken token = new TKAutoCompleteToken((NSString)(item.ValueForKey(new NSString("name"))));
				token.Image = UIImage.FromBundle((NSString)item.ValueForKey(new NSString("photo")));
				return token;
			});

			TKListView listView = (TKListView)this.Autocomplete.WeakSuggestionView;
			listView.RegisterClassForCell (new Class(typeof(PersonListViewCell)), "cell");

			TKListViewGridLayout layout = new TKListViewGridLayout();
			layout.ItemAlignment = TKListViewItemAlignment.Center;
			layout.SpanCount = 2;
			layout.ItemSize = new CGSize (120, 150);
			layout.LineSpacing = 20;
			layout.ItemSpacing = 20;
			listView.Layout = layout;

			this.Autocomplete.DisplayMode = TKAutoCompleteDisplayMode.Tokens;
			this.Autocomplete.LayoutMode = TKAutoCompleteLayoutMode.Wrap;
			this.Autocomplete.AutoresizingMask = UIViewAutoresizing.FlexibleWidth;
			this.Autocomplete.MaximumWrapHeight = 150;
			this.Autocomplete.WeakDataSource = this.Datasource;
			this.Autocomplete.TextField.Placeholder = "Enter Users";
			this.Autocomplete.NoResultsLabel.Text = "No Users Found";
			this.Autocomplete.ImageView.Image = UIImage.FromBundle (new NSString("search.png"));
			this.Autocomplete.MinimumCharactersToSearch = 1;
			this.Autocomplete.WeakDelegate = autocompleteDelegate;
			this.Autocomplete.SuggestionViewHeight = this.View.Bounds.Height - this.View.Bounds.Y + 45;
			this.View.AddSubview (this.Autocomplete);
		}
Пример #18
0
		public void ReloadData(TKAutoCompleteTextView autocomplete)
		{
			NSMutableArray suggestions = new NSMutableArray ();

			if (airports == null) {
				NSUrl url = new NSUrl (urlStr);
				NSUrlRequest req = new NSUrlRequest (url);
				NSUrlResponse res;
				NSData dataVal = new NSData ();
				NSDictionary jsonResult = new NSDictionary ();
				NSError error;
				NSError errorReq;
				dataVal = NSUrlConnection.SendSynchronousRequest (req, out res, out errorReq);
				if (dataVal != null) {
					jsonResult = (NSDictionary)NSJsonSerialization.Deserialize (dataVal, NSJsonReadingOptions.MutableContainers, out error);
					if (error == null) {
						airports = (NSArray)jsonResult.ObjectForKey (new NSString ("airports"));
					} 
				

				for (nuint i = 0; i < airports.Count; i++) {
					NSDictionary item = airports.GetItem<NSDictionary> (i);
					NSString name = (NSString)item.ValueForKey (new NSString ("FIELD2"));
					NSString shortName = (NSString)item.ValueForKey (new NSString ("FIELD5"));
					string result = String.Format ("{0}, {1}", name.ToString (), shortName.ToString ());

					if (result.ToUpper ().StartsWith (prefix.ToUpper ())) {
						suggestions.Add (new TKAutoCompleteToken (new NSString (result)));
					}
				}
			}

			DispatchQueue queue = DispatchQueue.MainQueue;
			queue.DispatchAfter (DispatchTime.Now, delegate {autocomplete.CompleteSuggestionViewPopulation (suggestions);});
		}
	}
Пример #19
0
		public override void DidAddToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
		{
			((TKListView)autocomplete.WeakSuggestionView).ScrollToItem (((TKSuggestionListView)autocomplete.WeakSuggestionView). SelectedIndexPath, UICollectionViewScrollPosition.Top, true);
		}
Пример #20
0
 public override void DidAddToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
 {
     ((TKListView)autocomplete.WeakSuggestionView).ScrollToItem(((TKSuggestionListView)autocomplete.WeakSuggestionView).SelectedIndexPath, UICollectionViewScrollPosition.Top, true);
 }
 public override void DidRemoveToken(TKAutoCompleteTextView autocomplete, TKAutoCompleteToken token)
 {
     this.tokens.Remove(token.Text);
     tKDataFormAutoCompleteInlineEditor.Value = this.tokens.ToNSObject();
 }