代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Objectc
】
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意
作者:
小松
/ 发布于
2016/9/7
/
846
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意加减
//目的:用于iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意加减 /*方法1: *1。在vc中重写viewDidLayoutSubviews方法 *2。是用下面2个方法之一; *3。frame为ios6风格,状态栏和导航栏为平铺 *4。bounds为ios7风格,状态栏和导航栏为覆盖 *5。优点,所有subview的坐标都一ios6的标准进行编写,支持push和present *6。缺点,在push中每个vc都需要重写viewDidLayoutSubviews方法; */ void IOS7ToIOS6ofFrame(UIViewController *vc); void IOS7ToIOS6ofBounds(UIViewController *vc); void IOS7ToIOS6ofFrame(UIViewController *vc) { if (IsIOS7) { CGRect rect = vc.view.frame; vc.view.frame = CGRectMake((rect.origin.x), (rect.origin.y+(IsIOS7?vc.topLayoutGuide.length:0)), (CGRectGetWidth(rect)), (CGRectGetHeight(rect)-(IsIOS7?vc.topLayoutGuide.length:0))); } } void IOS7ToIOS6ofBounds(UIViewController *vc) { if (IsIOS7) { CGRect rect = vc.view.bounds; if (rect.origin.y != -1*vc.topLayoutGuide.length) { vc.view.bounds = CGRectMake((rect.origin.x), (rect.origin.y+(IsIOS7?vc.topLayoutGuide.length*(-1):0)), (CGRectGetWidth(rect)), (CGRectGetHeight(rect))); } } } /*方法2: *1.在vc的init或viewdidload中使用IOS7宏即可; *2.状态栏和导航栏为平铺 *3.优点:所有subview的坐标都一ios6的标准进行编写,支持push,背景frame值同ios6 *4.缺点:在push中每个vc都需要写,不支持present; */ #define IOS7 if([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=7)\ {self.extendedLayoutIncludesOpaqueBars = NO;\ self.modalPresentationCapturesStatusBarAppearance =NO;\ self.edgesForExtendedLayout = UIRectEdgeNone;} /*方法3: *1.使用self.navigationController.navigationBar.translucent =NO; *2.状态栏和导航栏为平铺 *3.优点:所有subview的坐标都一ios6的标准进行编写,支持push,背景frame值同ios6,只需要设置一次 *4.缺点:必须有nav;对于present的vc必须为nav */ /*方法4: *1.重新定义CGRECT; *2.状态栏和导航栏为覆盖 *3.优点:随时可以用 */ #define IsIOS7 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=7) #define CGRECT_NO_NAV(x,y,w,h) CGRectMake((x), (y+(IsIOS7?20:0)), (w), (h)) #define CGRECT_HAVE_NAV(x,y,w,h) CGRectMake((x), (y+(IsIOS7?64:0)), (w), (h))
试试其它关键字
同语言下
.
根据当前日期计算星期几
.
屏幕中间的弹框列表
.
禁用iOS的UIView长按默认操作
.
IOS判断用户的网络类型(2/3/4G、wifi)
.
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意
.
iOS开发 iOS8 分割线右移15像素 将其归零
.
ios 常用的宏定义方法
.
IOS应用直接 跳转AppStore 的方法 IOS7以上
.
iOS iOS8中 问题"registerForRemoteNotificationTypes
.
通过当前的view找到所在view的控制器
可能有用的
.
根据当前日期计算星期几
.
屏幕中间的弹框列表
.
禁用iOS的UIView长按默认操作
.
IOS判断用户的网络类型(2/3/4G、wifi)
.
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意
.
iOS开发 iOS8 分割线右移15像素 将其归零
.
ios 常用的宏定义方法
.
IOS应用直接 跳转AppStore 的方法 IOS7以上
.
iOS iOS8中 问题"registerForRemoteNotificationTypes
.
通过当前的view找到所在view的控制器
小松
贡献的其它代码
(
14
)
.
APP手机应用信息采集
.
去除字符串中的空格回车换行等符号
.
创建用户,并给这个用户授权
.
查看分区信息
.
文本显示 -- 换行处理
.
Python实现截屏的函数
.
时间戳转时间格式,时间格式转xx小时前
.
微信-JSSDK .NET版
.
iOS7和iOS6适配,和保留之前的坐标编码习惯,不用刻意
.
查询指定文件夹下的每个子文件夹占空间的大小
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3