IOS-新特性之larget title的实现

大标题(larget title)

图层解析

小标题所处.jpg

这就是我们平常所见的Nav的title

大标题所处.jpg

这是IOS11新特性larget title

处于哪里.jpg

他们其实都在navigationBar这个view上,但是大标题先添加在navigationBar上的,看下图便知道了

上拉到顶部.png

只不过是小标题把大标题遮盖住了

//必须要设置navigationBar的prefersLargeTitles属性为YES才能够显示出大标题
self.navigationController.navigationBar.prefersLargeTitles = YES;

//样式是navigationItem的枚举 有三种
typedef NS_ENUM(NSInteger, UINavigationItemLargeTitleDisplayMode) {  
/// 自动模式依赖上一个 item 的特性
UINavigationItemLargeTitleDisplayModeAutomatic,
/// 针对当前 item 总是启用大标题特性
UINavigationItemLargeTitleDisplayModeAlways,
/// Never 
UINavigationItemLargeTitleDisplayModeNever,
}
self.navigationController.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAlways;
 //为大标题添加富文本属性
 [self.navigationController.navigationBar setLargeTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor],NSForegroundColorAttributeName,[UIFont systemFontOfSize:20.f],NSFontAttributeName,nil]];

APPStore的UI如何实现?

主要是大标题所在的右边有一个头像按钮

我给出一个思路吧,首先我没有找到大标题所处的View,大概是苹果没有对外开放这个view。但是我们已经知道他们都在navigationBar下了,何不直接取出navigationBar的子视图获取大标题所在的view呢?然后把你想要设置的按钮添加到该view上,最后只需要监听滚动去控制他们是否hidden

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,267评论 4 61
  • 1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现cl...
    以德扶人阅读 2,542评论 2 50
  • 适配iOS11 🍎苹果官方文档🍎苹果官方视频为了挣钱...哦😯不是,为了广大中国的开发者,苹果官方文档出了好多中文...
    philiha阅读 1,181评论 1 50
  • 我感觉没有 Byword,iAwriter,Day One 好
    9c907ce63a1f阅读 173评论 0 1
  • 收听播客请点击:青岛旅行日记 一直想着要去青岛看看,终于有了机会。 周五早上从北京南出发,经过天津、济南,不多久便...
    茶家坟里白阅读 1,073评论 14 4