IOS-新特性之larget title的实现

大标题(larget title)

图层解析

IOS-新特性之larget title的实现_第1张图片
小标题所处.jpg

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

IOS-新特性之larget title的实现_第2张图片
大标题所处.jpg

这是IOS11新特性larget title

IOS-新特性之larget title的实现_第3张图片
处于哪里.jpg

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

IOS-新特性之larget title的实现_第4张图片
上拉到顶部.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-新特性之larget title的实现)