iOS11导航栏适配
来源:互联网 发布:巨人网络有哪些手游 编辑:程序博客网 时间:2024/06/05 21:07
部分总结;
(一)导航栏高度的变化
(1) iOS11之前导航栏默认高度为44pt(这里高度指NavigationBar);
(2) iOS11之后如果设置了大标题样式,则为96pt,默认情况下还是44pt;
(3) 但在iPhoneX上statusBar由20pt变成了44pt,所以iPhoneX上高度(statusBar + NavigationBar)变为88pt,如果项目里隐藏了导航栏加了自定义按钮之类的,这里需要注意适配一下。
if (@available(iOS11.0, *)) {
//iOS11之后
//导航大标题,上滑到顶部时动态切换大小标题样式 (导航栏高度UINavigationBar = 44/96)
self.navigationController.navigationBar.prefersLargeTitles = YES;
//自动模式,依赖于上一个item的设置;上一个item设置为自动并且当前导航栏prefersLargeTitles=YES,则显示大标题样式;
self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAutomatic;
// //prefersLargeTitles=YES,滚动到顶部时,当前总是显示大标题样式
// self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeAlways;
// //prefersLargeTitles=YES,滚动到顶部时,当前也总不会显示大标题样式
// self.navigationItem.largeTitleDisplayMode = UINavigationItemLargeTitleDisplayModeNever;
//标题样式变化时, btn的frame不变
UIBarButtonItem *item = [[UIBarButtonItemalloc] initWithTitle:@"设置"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(testDidClick)];
self.navigationItem.rightBarButtonItem = item;
//标题样式变化时, btn的frame不变
UIBarButtonItem *item1 = [[UIBarButtonItemalloc] initWithTitle:@"返回"style:UIBarButtonItemStylePlaintarget:selfaction:@selector(testDidClick)];
self.navigationItem.leftBarButtonItem = item1;
//titleView
} else {
// Fallback on earlier versions
//titleView
}
(二) 导航栏图层及对titleView布局的影响
iOS11之后titleView层级发生了变化, 具体如图展示:
- iOS11导航栏适配
- iOS11导航栏隐藏
- iOS11导航栏自定义按钮偏移问题
- iOS11导航栏自定义按钮偏移问题
- ios11导航栏按钮不适配解决方法
- iOS11 导航栏按钮位置问题的解决
- iOS11 导航栏按钮位置问题的解决
- iOS11 导航栏按钮位置问题的解决------新
- iOS11解决导航栏影藏返回文字的方法
- iOS11适配-隐藏导航栏 UIScrollView下移问题
- iOS11 正确控制导航leftBarButtonItems的关于 leftBarButtonItems 结构分析
- iOS11导航栏在tabbar切换时动态隐藏
- 适配ios11-导航栏titleView宽度变窄,无法点击
- 关于IQKeyboardManager 在iOS11导航栏消失的问题
- iOS11NavigationItem偏移,iOS11适配问题,iOS11导航栏返回偏移,iOS11BarButtonItem偏移,Xcode9遇见的问题
- iOS11返回按钮和导航栏右按钮的完美适配
- iOS11项目适配 UIScorllView下移和导航栏返回按钮偏移
- iOS11 适配之导航栏、tableView、searchBar遇到的bug
- tmux 配置文件
- Java常用类--Object详解
- AtomicBoolean介绍与使用
- LINUX中常用操作命令
- 现阶段选择ArcMap还是ArcGIS Pro
- iOS11导航栏适配
- Scratch 游戏项目学习法 —— 接苹果(九)控制接盘左右移动
- Oracle 日期相关查询SQL
- 关于RadioGroup和Scrollview联动带来的事件冲突
- leetcode 139. Word Break
- Java-泛型(学习笔记)
- 消费返利系统开发模式
- void与void*详解
- MySQL UPDATE 查询