我正在使用Xamarin.Ios中的UISearchController并且一切正常但是当我开始输入时,SearchhResultUpdating方法未覆盖不会触发。它有时会起作用,并且在其他时候不会消失,但现在它根本不起作用。
这是SearchResultsUpdating类:
class SearchResult : UISearchResultsUpdating
{
public event Action<string> UpdateSearchResults = delegate { };
public override void UpdateSearchResultsForSearchController(UISearchController searchController)
{
this.UpdateSearchResults(searchController.SearchBar.Text);
}
}
以及我使用它的时候:
var searchresult = new SearchResult();
searchresult.UpdateSearchResults += searchResultsController.Search;
var searchController = new UISearchController(searchResultsController) { SearchResultsUpdater = searchresult };
答案 0 :(得分:2)
searchController
设为global variable
。如果您这样做,它将不会释放并保持其生命周期,并在UISearchResultsUpdating
请参阅此Demo