2016-03-22 7 views
6

私は、プログラム(TabBarControllerの子ビューの1つ上の)UIView内に追加UISearchBarに問題があります。画面が最初にロードされるとUISearchController:検索バー当初は広すぎる

、検索バーがあまりにもあります視野に完全に収まるように広い。ただし、内部をタップしてCancelボタンをタップすると、検索バーのサイズが変更され、UIViewにうまく収まるようになります。

私はGitHubでサンプルプロジェクトをアップロードしました - 間違った動作は、BlueViewControllerクラスの2番目のタブで確認できます。 私はすでに多くのことを試してきましたが、おそらくコードで見ることができ、最も人気のあるStackOverflowの回答を検索しましたが、今のところこの問題を解決した人はいません。 https://github.com/asia-t/tabbartest

誰かがそこに行くことができるものを上のいくつかの光を当てることができればそれは素晴らしいことだ:

は、ここでのプロジェクトへのリンクです。

​​

答えて

7

あなたは検索バーのフレームを修正するには、次のメソッドを実装することができます:

override func viewDidLayoutSubviews() { 
    var searchBarFrame = searchController.searchBar.frame 
    searchBarFrame.size.width = vanillaSearchBar.frame.size.width 
    searchController.searchBar.frame = searchBarFrame 
} 
+0

なるほど!それは確かにそれを修正:-)私は同様のことを試みたが、間違った場所で - 実際には少し悪化させた 'viewDidLoad'で行った。これは完璧な意味があります - ありがとう! –

関連する問題