UISearchController
という奇妙な問題に直面しています。 ボタンをクリックすると、UIViewController1のナビゲーションバーに検索コントローラが追加されました。 UIViewController1では正常に動作しています。今私はUIViewController2にナビゲートしていますし、ボタンをクリックしてUISearchControllerを追加しています。以下はサンプルコードです。問題はUIViewController2でUISearchControllerが最初のレスポンダにならず、OnEditingStarted
が起動していないことです。 UIViewController1で(検索コントローラを追加して)UIViewController2で使用しようとしているときに起こっています。 これは私が検索コントローラを追加してい方法です:私は問題になる可能性がどのようなUISearchControllerXamarin:UISearchControllerが最初のレスポンダになっておらず、ナビゲーションバーに追加中に編集が開始されない
NavigationController.NavigationBar.TopItem.TitleView = null;
_searchController.SearchBar.ResignFirstResponder();
_searchController.SearchBar.RemoveFromSuperview();
を削除しようとしています
DefinesPresentationContext = true;
_searchController = new UISearchController(searchResultsController: null)
{
WeakDelegate = this, DimsBackgroundDuringPresentation = false, WeakSearchResultsUpdater = this,
};
_searchController.SearchBar.SizeToFit();
_searchController.SearchBar.TintColor = UIColor.Black;
_searchController.SearchBar.WeakDelegate = this;
_searchController.SearchBar.OnEditingStarted += OnEditingStarted;
_searchController.SearchBar.OnEditingStopped += OnEditingStopped;
_searchController.SearchBar.SearchButtonClicked += OnSearchButtonClicked;
_searchController.SearchBar.CancelButtonClicked += OnSearchCancelledClicked;
_searchController.HidesNavigationBarDuringPresentation = false;
NavigationController.NavigationBar.TopItem.TitleView = this._searchController.SearchBar;
_searchController.SearchBar.BecomeFirstResponder();
OnSearchCancelledClicked
。前の画面の検索コントローラがまだアクティブで、新しい画面のコントローラを検索するための呼び出しをブロックしていますか? UIViewController2に直接ナビゲートすると、コントローラが正常に動作しています。