导航栏(很多文章已经讲了,这里只说明代码如何实现)
1.关于largetTitle的展示代码
如果需要使用largeTitle的属性,就需要设置下面的属性, 如果不设置,默认沿用系统默认样式,也就是ios11之前的title样式
self.navigationController.navigationBar.prefersLargeTitles = YES;
largetTitle的显示模式UINavigationItemLargeTitleDisplayMode(默认有三种模式)
如果显示了大标题,直接设置title属性就会显示大标题
self.title = @"Test项目";
效果如下图
2.关于searchController的展示代码
如果想使用系统自带导航条上的search功能,需要在代码中设置
self.navigationItem.searchController = [[UISearchController alloc]initWithSearchResultsController:[SearchViewController new]];
效果图如下:
如果控制器中有继承于scrollview的控制器视图,并且当滚动的时候不想展示searchBar,设置以下属性就好
self.navigationItem.hidesSearchBarWhenScrolling = YES;
3.刚才演示时候遇到的问题
如果同时设置了
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAlways;
self.navigationItem.searchController = [[UISearchController alloc]initWithSearchResultsController:[SearchViewController new]];
这个时候 会显示searchBar titile会显示默认的样式
效果图如下
如果代码中或者逻辑出了问题,请提出修改,谢谢.