iOS11新特性之导航栏和largeTitle的设置

导航栏(很多文章已经讲了,这里只说明代码如何实现)

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会显示默认的样式

效果图如下

 

 

如果代码中或者逻辑出了问题,请提出修改,谢谢.

 

posted @ 2017-10-13 10:42  高尚的人  阅读(554)  评论(0编辑  收藏  举报