iOS11 仿大标题 导航栏
iOS11 SytleTitleController 仿大标题 风格 导航栏
仿 iOS11 大导航标题 风格 UI 适用范围 iOS8 +
前言
iOS11全面应用大标题设计,(岂止于大—— 比逼格更逼格!)bigger than bigger. 突出的大标题 特点:
- 突出的大而粗的标题
- iOS 11标题设计的大且粗,把醒目优先级提到了最高
- 明确整个page核心,结构更明朗,让用户减少疑惑 很多设计师把Apple、google或者微软的用户界面标准奉若神明,觉得只要是他们说的,都是对的 好看不好看,我相信必定还会引起国内的国产手机UI设计追“大苹果风”。
如果你们的设计师也已经开始设计了这种大标题导航的UI,并且让你适配到iOS11以下的iOS10 iOS9 iOS8 那么特别希望 我写的 这个小demo 能够帮到你,毕竟维护自家产品一般不可能只限制用户用iOS11系统吧。。。
效果图是这样的:(动图地址)

为了使用方便,本人特意写了类别方法 UIViewController+HFDynamicBar.h
#import <UIKit/UIKit.h>
#import "HFDynamicNavView.h" @interface UIViewController (HFDynamicBar) @property (nonatomic, strong) HFDynamicNavView *dynamicNavView; /**
设置 展示导航大标题样式 UI
*/
- (void)defaultShowDynamicNav; /**
展示滚动 导航折叠Animation 就在滚动代理方法 UIScrollViewDelegate 中实现该方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView @param scrollView scrollView
*/
- (void)showDynamicBarAnimationWithScrollView:(UIScrollView *)scrollView; @end
使用方法 分5步:
[self defaultShowDynamicNav];//导航大标题展示 【1】放在tableView 的上层
[tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(@(self.dynamicNavView.dynamicBottom));/////修改起始高度 【2】这个起始位置相对还是64 make.left.right.bottom.equalTo(self.view); }];
tableView.contentInset = UIEdgeInsetsMake(self.dynamicNavView.bigTitleView.hf_height, 0, 0, 0);////这行代码必须有 【3】为了连贯联动效果
[tableView setContentOffset:CGPointMake(self.view.hf_width, - self.dynamicNavView.bigTitleView.hf_height) animated:NO];////这行代码必须有 【4】为了连贯联动效果
[self showDynamicBarAnimationWithScrollView:scrollView]; //该代码选择实现 需要导航折叠Animation 就要在该代理方法里面实现 不滚动就是默认大标题 【5】选择性实现
可扩展
暴露的属性都是可读写的,任何需要的地方可直接扩展 (比如添加右边导航按钮 。。。) 注意要点:标题居中,约束合法
iOS11 仿大标题 导航栏的更多相关文章
- IOS11 - UINavigationItem大标题,搜索栏实现
1.新建模型 class Contact: NSObject { var name : String? var mobile : String?{ didSet{ { mobileString = m ...
- Android 高仿新浪微博底部导航栏,实现双击首页Tab,页面的ListView滚动、刷新
现在很多APP,如微信.QQ.微博等等,它们的主页面都无一例外的选择使用底部Tab导航, 通过这种方式,可以很好的把页面层级分化,很好的提高用户体验.相信,很多Android开发者,都使用到过这种经典 ...
- Flutter沉浸式状态栏/AppBar导航栏/仿咸鱼底部凸起导航
Flutter中如何实现沉浸式透明Statusbar状态栏效果? 如下图:状态栏是指android手机顶部显示手机状态信息的位置.android 自4.4开始新加入透明状态栏功能,状态栏可以自定义颜色 ...
- 简单仿京东"筛选"界面 双导航栏控制器共存 by Nicky.Tsui
大概就是这么一个效果 如图.大概可以看到,"筛选"视图后面有一层视图盖住了后面原来的视图 那么我们可以通过加一个view到导航栏控制器的view里面来实现 //该view作为全局变 ...
- ViewPager+GridView实现首页导航栏布局分页效果
如图是效果图用ViewPager+GridView实现首页导航栏布局分页效果来实现的效果 Demo下载地址:http://download.csdn.net/detail/qq_29774291/96 ...
- 网页导航栏 html + css的代码实现
一般来讲,我们的网页导航栏是这么个模式来构建在结构上:1.首先我们需要给导航栏的div 给个类名 一般为nav2.然后就是一个无序表格 3.由于导航栏的文字一般都是链接用来跳转页面 要在li里面包含一 ...
- 微信小程序 自定义头部导航栏和导航栏背景图片 navigationStyle
这两天因为要做一个带背景的小程序头,哭了,小程序导航栏有背景也就算了,还得让导航栏上的背景顺下来,心态小崩.现在可以单独设置一个页面的小程序头了,但是前提是要微信7.0以上的版本,考虑到兼容性问题 ...
- 自定义iOS7导航栏背景,标题和返回按钮文字颜色
在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem 更改导航栏的背景和文字Col ...
- IOS 改变导航栏返回按钮的标题
IOS 改变导航栏返回按钮的标题 下午又找到了一个新的方法 这个方法不错 暂时没有发现异常的地方. 新写的App中需要使用UINavigationController对各个页面进行导航,但由于第一 ...
随机推荐
- iOS敏捷开发之道,经常使用的宏定义总结
iOS开发中,直接在pch文件里导入宏定义. 在做项目的时候,直接拿过来使用,能够大幅度提高开发速度. 以下是 个人总结的一些宏定义. 假设大家有其它的经常使用的宏定义.欢迎加入.我会定期更新这个bl ...
- DataUml Design 教程6-DataUML Design 1.1版本正式发布(支持PD数据模型)
从DataUML Design正式发布到现在有两个月了,由于最近比较忙,到现在才发布1.1版本.以后本人会一直坚持不断完善DataUML Design软件,希望广大程序猿们多多支持. 一.1.1版本新 ...
- libubox组件(3)——uloop
一:uloop概述 uloop有三个功能: 文件描述符触发事件的监控, timeout定时器处理, 当前进程的子进程的维护 二: uloop的整体框架 1: /** 2: * 初始化事件循环 3: ...
- php 设置地区时间
date_default_timezone_set('Asia/ShangHai');
- Eclipse 浏览(Navigate)菜单浏览 Eclipse 工作空间
Eclipse 浏览(Navigate)菜单 浏览 Eclipse 工作空间 浏览(Navigate)菜单提供了多个菜单可以让你快速定位到指定资源. 上图中 Open Type, Open Type ...
- php 佛祖保佑 永无bug
<pre name="code" class="java">/* _ooOoo_ o8888888o 88" . "88 (| ...
- js instanceof (2)
instanceof运算符可以用来判断某个构造函数的prototype属性是否存在另外一个要检测对象的原型链上.实例一:普遍用法 A instanceof B :检测B.prototype是否存在于参 ...
- Asp.net 基于Cookie简易的权限判断
基于Cookie简易的权限判断代码,需要的朋友可以参考下. 写入Cookie页面,创建cookie后,设置cookie属性,并添加到Response.Cookies中读取cookie,利用cookie ...
- nth-child 和 nth-of-type 的区别
css3中有两个新的选择器可以选择父元素下对应的子元素,一个是:nth-child 另一个是:nth-of-type,它们2个的区别是: nth-of-type为什么要叫:nth-of-type?因为 ...
- EasyNVR无插件直播流媒体服务器云端集中管控的EasyNVS云管理平台安装使用文档
EasyNVS - EasyNVR云端集中管理服务 EasyNVS云管理平台是一套专门用于集中化管理EasyNVR 的解决方案. EasyNVR 采用主动注册的方式接入到 EasyNVS, 再由 Ea ...