swift - UINavigationBar 中的 searchBar isHidden 后获取标题

标签 swift uinavigationbar uisearchbar

我有一个 searchBar,当按下 searchButton 时,它会显示在 UINavigationBar 中。搜索完成或用户取消搜索后,我希望 title 返回到 UINavigationBar 我怎样才能将其返回?

搜索栏显示如下:

@IBAction func searchButtonTapped(_ sender: Any) {

    if searchBar.isHidden == true {
        searchBar.isHidden = false
        self.navigationItem.titleView = self.searchBar
        searchActive = true
    } else if searchBar.isHidden == false {
        searchBar.isHidden = true
        searchActive = false
        //Show title again
    }
}

最佳答案

只要这样做,然后就不会弄乱 View Controller 的设置标题方法

@IBAction func searchButtonTapped(_ sender: Any) {
        if searchBar.isHidden == true {
            searchBar.isHidden = false
            self.navigationItem.titleView = self.searchBar
            searchActive = true
        } else if searchBar.isHidden == false {
            searchBar.isHidden = true
            searchActive = false
            let label = UILabel()
            label.text = "My Title"
            label.textColor = .red
            self.navigationItem.titleView = label
        }
    }

关于swift - UINavigationBar 中的 searchBar isHidden 后获取标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611998/

相关文章:

ios - 如何将文本字段输入存储为 textToImage 函数的变量?

ios - 搜索栏处于事件状态时状态栏图标变黑

ios - 如何在导航栏内添加带有范围栏的搜索栏,其中导航栏自动增加其高度并显示空格栏

iOS - 如何使导航栏的 subview 透明?

objective-c - 以两种方式显示 View (推送和模态)

iphone - UISearchBar becomeFirstResponder 返回 0,但对 UISearchBar 有有效引用

class - 快速更改类中变量的值

cocoa-touch - 在 swift xcode 中初始化

ios - viewForHeaderInSection 对齐错误(Swift 3)

css - 垂直 ul li 导航,具有更大的居中下拉菜单