常用宏定义 - 系统相关


/** 是否iPad */
#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)/** 是否iPad */
#define someThing (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)? ipad: iphone/** 获取系统版本 */
#define IOS_VERSION [[UIDevice currentDevice] systemVersion] floatValue]
#define CurrentSystemVersion [UIDevice currentDevice] systemVersion]/** 获取当前语言 */
#define CurrentLanguage ([NSLocale preferredLanguages] objectAtIndex:0])/** 判断是否 Retina屏、设备是否%fhone 5、是否是iPad */
#define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [UIScreen mainScreen] currentMode].size) : NO)
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [UIScreen mainScreen] currentMode].size) : NO)
#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)/** 判断设备的操做系统是不是ios7 */
#define IOS7 ([[UIDevice currentDevice].systemVersion doubleValue] >= 7.0]/** 判断当前设备是不是iphone5 */
#define kScreenIphone5 (([UIScreen mainScreen] bounds].size.height)>=568)/** 获取当前屏幕的高度 */
#define CHScreenH ([UIScreen mainScreen].applicationFrame.size.height)
/** 获取当前屏幕的宽度 */
#define CHScreenW ([UIScreen mainScreen].applicationFrame.size.width)/** 定义一个define函数 */
#define TT_RELEASE_CF_SAFELY(__REF) { if (nil != (__REF)) { CFRelease(__REF); __REF = nil; } }/** 判断是真机还是模拟器 */
#if TARGET_OS_IPHONE//iPhone Device
#endif#if TARGET_IPHONE_SIMULATOR//iPhone Simulator
#endif/** 检查系统版本 */
#define SYSTEM_VERSION_EQUAL_TO(v) ([[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

转载于:https://www.cnblogs.com/CH520/p/9311248.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

周鸿祎详解360手机战略:赚钱不靠硬件靠服务

摘要:奇虎360总裁周鸿祎不久前在微博上宣布360公司将要进军手机行业的消息后,一度掀起业界的轩然大波,褒贬之声均不绝于耳。对于合作厂商的选择,周鸿祎直言出货量是一个重要参考指标,“每年的出货量最少不低于500万~10…

解决报错:;Syntax error on token(s), misplaced construct(s)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 报错如题,这是语法错误,如括号不匹配、代码没有写在一个方法中、少分号、变量名不对、少半个大括号 ... 总之就…

java移位运算符

java中有三种移位运算符 << : 左移运算符&#xff0c;num << 1 相当于num乘以2 >> : 右移运算符&#xff0c;num >> 1 相当于num除以2 >>> : 无符号右移&#xff0c;忽略符号位&#xff0c;空位都以0补齐…

在页面上显示PDF

/// <summary>/// 读取PDF文件/// </summary>/// <param name"fName">文件名称(可以从其他地方传进来)</param>/// <returns></returns>public FileStreamResult readPDF(string fName "pdf文件.pdf"){string dirp …

7.15模拟赛

T1.fuction 吐槽一波错误拼写。 跟考场思路差不多&#xff0c;只不过细节挺多的呢。 判掉a0,b0,c0的几种组合&#xff0c;还有负数的情况要打标记特殊处理。 然后就是一个拓欧啦&#xff0c;先求出ggcd(a,b)&#xff0c;顺便求出axbyg的x和y&#xff0c;然后根据裴蜀定理&#…

苏宁国美盈利报警:线下乏力线上重金加码

摘要&#xff1a;国美电器则发布盈利预警&#xff0c;预计今年一季度净利润同比大幅减少———这也致使国美股价最近连续低位徘徊。苏宁电器一季报显示&#xff0c;今年1至3月公司营业收入226 .41亿元&#xff0c;同比增长10%&#xff0c;但盈利9.51亿元&#xff0c;同比下降15…

WebService到底是什么?

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、序言 大家或多或少都听过WebService&#xff08;Web服务&#xff09;&#xff0c;有一段时间很多计算机期刊、书籍和网站都大肆的提…

JAVA中PO,VO,DTO,BO,DAO,POJO解释

&#xff08;一&#xff09;VO与PO ORM是Object Relational Mapping&#xff08;对象关系映射&#xff09;的缩写。通俗点讲&#xff0c;就是将对象与关系数据库绑定&#xff0c;用对象来表示关系数据。在O/R Mapping的世界里&#xff0c;有两个基本的也是重要的东东需要了解&…

互掐盗播风云再起 三大视频网站存和解可能

摘要&#xff1a;近期&#xff0c;视频网站互掐盗播风云再起。腾讯视频已于5月13日向PPS开炮&#xff0c;宣称PPS盗播其五部独家剧&#xff1b;5月14日&#xff0c;搜狐视频亦指责PPS盗播其23部热播剧。面对这两家的连续开炮&#xff0c;PPS方面也进行了相应的回应&#xff0c;…

springboot和quartz整合实现动态定时任务(持久化单节点)

Quartz是一个完全由java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制&#xff0c;它支持定时任务持久化到数据库&#xff0c;从而避免了重启服务器时任务丢失&#xff0c;支持分布式多节点&#xff0c;大大的提高了单节点定时任务的容错性。s…

JAVA中protected的作用

类NewObject中有protected修饰的方法或者属性&#xff0c;则&#xff1a; 同一个包中&#xff1a; 可在同一个包里的子类中实例化NewObject类获得对象&#xff0c;然后可用该对象访问protected修饰的方法或者属性&#xff0c;即.操作访问。可在同一个包里的非子类中实例化NewOb…

wsimport 不是内部或外部命令,也不是可运行的程序或批处理文件

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 今天使用wsimport生成webservice client端代码&#xff0c;wsimport提示不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件…

静态变量的多线程同步问题

2019独角兽企业重金招聘Python工程师标准>>> 我们先来讨论一个问题&#xff0c;一个类的静态变量当类被多次实例化的时候&#xff0c;静态变量是否会受影响&#xff1f;首先我们应该清楚的是静态变量是在类被JVM classloader的时候分配内存&#xff0c;并且是分配在…

extends和implements区别

extends和implements区别 extends与implements的不同 1、在类的声明中&#xff0c;通过关键字extends来创建一个类的子类。 一个类通过关键字implements声明自己使用一个或者多个接口。 extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; imple…

评论:电商巨头们谁有勇气晒晒“价格战”账单?

摘要&#xff1a;国内电商接二连三上演的“价格战”&#xff0c;点燃了消费者的购买热情。在笔者看来&#xff0c;如果有哪个大型电商有勇气亮出价格战账单&#xff0c;那对竞争对手的刺激和打击效果将非同一般。晒出了账单后&#xff0c;消费者对购物场所的选择也将一目了然&a…

The xxx collides with a package/type

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 当类和包&#xff0c;重名时&#xff0c;包会报错误&#xff1a;The package aaa.a collides with a type&#xff1b;类也会报警告&…

Hive 行列转换

在京东众多业务中&#xff0c;促销业务充满了复杂性和挑战性&#xff0c;因为业务的灵活性&#xff0c;很多数据都存储成xml和json格式数据&#xff0c;这就要求下游数据分析师们需要对其做解析后方可使用 。 在众多操作中 &#xff0c;有一种是需要对数据做行列转换操作。 数据…

[译] 论 Rust 和 WebAssembly 对源码地址索引的极限优化

原文地址&#xff1a;Oxidizing Source Maps with Rust and WebAssembly原文作者&#xff1a;Nick Fitzgerald译文出自&#xff1a;掘金翻译计划本文永久链接&#xff1a;github.com/xitu/gold-m…译者&#xff1a;D-kylinTom Tromey 和我尝试使用 Rust 语言进行编码&#xff0…

Java WebService 简单实例

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 前言&#xff1a;朋友们开始以下教程前&#xff0c;请先看第五大点的注意事项&#xff0c;以避免不必要的重复操作。 一、准备工作&…

互联网侵入手机逐鹿背后:追求流量变现能力

摘要&#xff1a;小米联合创始人黎万强说&#xff0c;卖出10万台得免速死&#xff0c;卖出百万台算是得到了一张正式入行的门票。小米是一家新创公司&#xff0c;黎万强自己说&#xff0c;原本一无所有&#xff0c;作为原创品牌&#xff0c;它选择了口碑之路&#xff0c;则必须…