public async override void ViewDidLoad() { base.ViewDidLoad(); await SampleManager.Current.InitializeAsync(); var data = SampleManager.Current.GetSamplesAsTree(); this.TableView.Source = new CategoryDataSource(this, data); this.TableView.ReloadData(); var searchResultsController = new SearchResultsViewController(this, data); // Create search updater and wire it up var searchUpdater = new SearchResultsUpdater(); searchUpdater.UpdateSearchResults += searchResultsController.Search; // Create a new search controller SearchController = new UISearchController(searchResultsController); SearchController.SearchResultsUpdater = searchUpdater; // Display the search controller SearchController.SearchBar.Frame = new CGRect(SearchController.SearchBar.Frame.X, SearchController.SearchBar.Frame.Y, SearchController.SearchBar.Frame.Width, 44f); TableView.TableHeaderView = SearchController.SearchBar; DefinesPresentationContext = true; }