iOS 6 & iOS 7 的适配笔记
iOS 6 & iOS 7 的适配
场景1: 没有NavigationController,同时根视图是UIView
- (void)viewWillLayoutSubviews
{
if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
NSLog(@"======> %f", [self.topLayoutGuide length]);
CGFloat top = [self.topLayoutGuide length];
// 直接修改self.view的bounds属性
CGRect bounds = self.view.bounds;
// 强行往下挤20个点,其它不变
bounds.origin.y = -top;
self.view.bounds = bounds;
}
}
可以抽成宏
#define kIOS7_NONav_View \
- (void)viewWillLayoutSubviews\
{\
if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {\
NSLog(@"======> %f", [self.topLayoutGuide length]);\
CGFloat top = [self.topLayoutGuide length];\
CGRect bounds = self.view.bounds;\
bounds.origin.y = -top;\
self.view.bounds = bounds;\
}\
}
场景2: 没有NavigationController,同时根视图是UIScrollView/UITableView
- (void)viewDidLoad
{
[super viewDidLoad];
// 根视图是一个UITableView,继承自UIScrollView
// contentInset属性可以设置滚动视图距离边界的距离
if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
[self.tableView setContentInset:UIEdgeInsetsMake(20, 0, 0, 0)];
}
}
场景3: 有NavigationController,同时根视图是UIView
if ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0) {
[self setEdgesForExtendedLayout:UIRectEdgeNone];
}
场景4: 有NavigationController,同时根视图是UIScrollView/UITableView
不需要任何处理!
iOS 6 & iOS 7 的适配笔记的更多相关文章
- iOS 阶段学习第七天笔记(函数、递归)
iOS学习(C语言)知识点整理笔记 一.函数 1)概念:具有特定功能的代码块的封装 2)函数的定义: 函数类型+函数名(形参列表) 函数类型 函数名(形参类型1 形参名1,形参类型2 形参名2 ...
- iOS阶段学习第四天笔记(循环)
iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ } 两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...
- iOS阶段学习第三天笔记(运算符)
iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...
- IOS开发之不同版本适配问题2(#ifdef __IPHONE_7_0)
继续说说ios不同版本之间的适配 先说一个东西:在xcode当中有一个东西叫targets,苹果的官方文档是这样说的: A target specifies a product to build an ...
- IOS开发之不同版本适配问题2(#ifdef __IPHONE_7_0)(转载)
继续说说ios不同版本之间的适配 先说一个东西:在xcode当中有一个东西叫targets,苹果的官方文档是这样说的: A target specifies a product to build an ...
- iOS开发小技巧 - runtime适配字体
iOS开发小技巧 - runtime适配字体 版权声明:本文为博主原创文章,未经博主允许不得转载,有问题可联系博主Email: liuyongjiesail@icloud.com 一个iOS开发项目无 ...
- iOS 阶段学习第四天笔记(循环)
iOS学习(C语言)知识点整理笔记 一.分支结构 1.分支结构分为单分支 即:if( ){ } ;多分支 即:if( ){ }else{ } 两种 2.单分支 if表达式成立则执行{ }里的语句:双 ...
- iOS 阶段学习第三天笔记(运算符)
iOS学习(C语言)知识点整理笔记 1.运算符 一.算术运算符 1)表达式由变量.常量.运算符构成,有确定的类型和值 2)算术运算符包括: +(加),-(减),*(乘),/(除),%(模) 3)算术运 ...
- iOS:iOS开发非常全的三方库、插件等等
iOS开发非常全的三方库.插件等等 github排名:https://github.com/trending, github搜索:https://github.com/search. 此文章转自git ...
随机推荐
- 使用devstack/pike部署多节点实验
目录 第一步:安装Ubuntu16.04 server并以stack为用户名创建用户 第二步:安装git及相关配置 第三步:安装Open vSwitch 2.5.X 第四步:获取devstack脚本 ...
- String基础
一: String,StringBuffer与StringBuilder的区别??String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程 ...
- git hub 使用心得
git中重要的概念: 工作目录(working directory):在工作目录中修改文件,修改后的文件状态是modified,新添加的文件是untracked,通过git add命令将文件保存到st ...
- 四则运算安卓版ver.mk2
做了一点微小的变动....非常微小...不过美观点了就是...那就是----加背景! 变更后的部分代码: <LinearLayout xmlns:android="http://sch ...
- Where To Buy -- proposed by Renqian Luo
Need 周末在公司加班,公司食堂不开饭,就会想到点外卖.手机里好多外卖APP,同样的店家在不同平台的优惠活动可能不一样,A这边满20减10,B那边满20只减5,但是那边好像有优惠券可以用唉,等等,C ...
- composer 使用(踩坑笔记)
composer的介绍 来张图就好啦!我不细说啦 安装composer 1).PHP 环境变量配置,可参考百度经验: 2).详情可参考中国全量镜像进行 Composer 的安装 3).安装完成后,命令 ...
- 用prop还是attr
jquery中attr和prop的区别 在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答 ...
- Windows 下面简单的同步文件夹工具
1. 微软自己的工具 下载地址 https://www.microsoft.com/en-us/download/confirmation.aspx?id=15155 2. 安装过程忽略 3. 配置与 ...
- Android 出现 maybe missing INTERNET permission 错误问题解决
在AndroidManifest.xml中,需要进行如下配置:<manifest> //加入以下许可 <uses-permission android:name="andr ...
- 学习官方示例 - TForm.BorderIcons
本例用一行代码禁用了最大化按钮. unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphi ...