2016-08-29 4 views
0

私は検索ボタン付きのUINavigationBarを持っています。UINavigationBarはUISearchControllerを無効にするときにUITableViewをカバーします

self.navigationItem.titleView = self.searchController.searchBar 
self.searchController.searchBar.becomeFirstResponder() 

ユーザーが検索結果を選択し、新しいのViewControllerが押された:検索ボタンをUISearchControllerをトリガします。その後、ユーザーがタップすると、古いViewControllerがアクティブな検索結果とともに表示されます。

[キャンセル]をタップしてUISearchControllerを閉じると、UINavigationBarはビューのコンテンツをカバーするようになりました。私はあなたがこれらの行をコメントアウトしようとしている、あなたは、問題の原因を知っていると思われる場合は、次のViewControllerが

Process from left to right

答えて

0

を提示されたとき、それはviewDidLoadtruefalseからself.definesPresentationContextの私の設定かもしれないと思いますか?まだそれはしますか?

これはUIViewControllerのautomaticallyAdjustsScrollViewInsetsプロパティと関連しています。

UIViewControllerでfalseに設定してみてください。

EDIT:

は、あなたがのUIViewControllerのedgesForExtendedLayoutプロパティを変更しようとしたことがありますか?

self.edgesForExtendedLayout = UIRectEdgeNone; 
+0

self.definesPresentationContextからのコメントアウトは、searchControllerの表示を破るだけです。つまり、私はそれを複製できません。 'automaticallyAdjustsScrollViewInsets'をfalseに設定しても結果は変わりませんが、UINavigationBarが全部存在していても、searchControllerがアクティブである間はUIViewControllerがインセットを計算していると思われます。 – Ash

+0

@Ash上記の編集を参照してください。 – siburb

関連する問題