在UINavigationBar titleView中调整UISearchBar的大小不起作用

Geo*_*sda 6 uisearchbar ios swift2

UISearchBarUINavigationBartitleView中调整大小不起作用.

的UISearchBar

我还有两个导航项目UINavigationBar.

 @IBAction func searchButtonPressed(sender: UIButton) {


        searchWrap.frame = self.resultSearchController.searchBar.bounds
        searchWrap .addSubview(self.resultSearchController.searchBar)
        self.resultSearchController.active = true
        self.resultSearchController.searchBar.becomeFirstResponder()
        if (UIDevice.currentDevice().userInterfaceIdiom == UIUserInterfaceIdiom.Pad)
        {
             self.tableView.tableHeaderView = searchWrap
        }
        else
        {
            self.navigationItem.titleView = searchWrap
        }

        searchIsOn = true
        searchButton.hidden = true
        filterButton.hidden = true
        favButtonStar.hidden = true
        settingsButton.hidden = true


    }
Run Code Online (Sandbox Code Playgroud)

即使设置了帧,它也会自动调整大小.

Soh*_*mon 0

这里我为上述解决方案创建了一个演示项目,您可以从这里获取它。

下载演示项目

我做了什么?

  1. 首先,我向UINavigationBar. 第一个按钮用于演示,第二个按钮用于搜索。
  2. 当您点击搜索时,UISearchBar将添加一个titleView按钮UINavigationBar,并且按钮将从中删除UINavigationBar
  3. 我已经实现了cancel的委托UISearchBar,当调用它时,我删除UISearchBar并再次添加了前面的两个按钮。
  4. 这样你就可以获得完整的UISearchBar

在此输入图像描述