美文网首页程序员iOS开发
IOS-新特性之larget title的实现

IOS-新特性之larget title的实现

作者: 温学振 | 来源:发表于2017-12-09 12:10 被阅读233次

    大标题(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-新特性之larget title的实现

        本文链接:https://www.haomeiwen.com/subject/snyeixtx.html