首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在UINavigationBar中的searchBar isHidden之后重新获得标题

,可以通过以下步骤实现:

  1. 首先,确保你已经在UINavigationBar中添加了一个searchBar,并设置了isHidden属性为true,即隐藏了搜索栏。
  2. 当你需要重新显示标题时,可以执行以下操作:
    • 获取UINavigationBar的子视图数组,通过遍历找到包含searchBar的子视图。
    • 将searchBar的isHidden属性设置为false,以显示搜索栏。
    • 获取UINavigationBar的titleView属性,并将其设置为你想要显示的标题视图,可以是一个UILabel或自定义的视图。
    • 最后,调用UINavigationBar的layoutIfNeeded方法,以确保布局的更新。

以下是示例代码:

代码语言:txt
复制
// 获取UINavigationBar的子视图数组
if let subviews = navigationController?.navigationBar.subviews {
    for subview in subviews {
        // 找到包含searchBar的子视图
        if let searchBar = subview as? UISearchBar {
            // 显示搜索栏
            searchBar.isHidden = false
            break
        }
    }
}

// 设置标题视图
let titleLabel = UILabel()
titleLabel.text = "重新获得的标题"
navigationItem.titleView = titleLabel

// 更新布局
navigationController?.navigationBar.layoutIfNeeded()

这样,你就可以在隐藏搜索栏后重新获得标题,并显示在UINavigationBar中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

自定义UISearchController的外观

以前我们在项目中使用搜索框的时候,如果用系统自带的控件则是使用UISearchDisplayController,而自从iOS8之后,系统重新给我们提供了一个搜索控件:UISearchController。在UISearchController中我们无需再自己初始化UISearchBar,只需要提供searchResult展示的视图。然而在开发中,我们往往需要根据项目的风格来改变UISearchBar的外观,通过继承的方式,我们可以完全定制符合项目风格的外观,然而有些情况下我们很难短时间内完成全部的外观定制工作,譬如我们项目用的好几个旧框架,代码中充斥着各种写好的UISearchBar的展示,而改动底层框架并不是一个较好地实践。于是我开始搜索并总结出了几个不通过继承的方式来更改UISearchBar外观的方法。

02
领券