常用宏定义及系统宏说明

news/2024/11/24 22:41:28/

1. 判断是否是iPad

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
typedef NS_ENUM(NSInteger, UIUserInterfaceIdiom) {UIUserInterfaceIdiomUnspecified = -1,UIUserInterfaceIdiomPhone NS_ENUM_AVAILABLE_IOS(3_2), // iPhone and iPod touch style UIUIUserInterfaceIdiomPad NS_ENUM_AVAILABLE_IOS(3_2), // iPad style UIUIUserInterfaceIdiomTV NS_ENUM_AVAILABLE_IOS(9_0), // Apple TV style UIUIUserInterfaceIdiomCarPlay NS_ENUM_AVAILABLE_IOS(9_0), // CarPlay style UI
};

2. iOS版本判断

//定义iOS10,以此来判断是ios10以前还是ios10以后
#define IOS10 [[[UIDevice currentDevice]systemVersion] floatValue] >= 10.0

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_1
#import "Chinese.h"
#endif

3.屏幕宽度与高度

#define SCREEN_WIDTH   [UIScreen mainScreen].bounds.size.width
#define SCREENH_HEIGHT [UIScreen mainScreen].bounds.size.height

4.系统宏说明

4.1 NS_AVAILABLE_IOS(5_0)

这个方法可以在iOS5.0及以后的版本中使用,如果在比5.0更老的版本中调用这个方法,就会引起崩溃。

4.2 NS_DEPRECATED_IOS(2_0, 6_0)

这个宏中有两个版本号。前面一个表明了这个方法被引入时的iOS版本,后面一个表明它被废弃时的iOS版本。被废弃并不是指这个方法就不存在了,只是意味着我们应当开始考虑将相关代码迁移到新的API上去了。

4.3 NS_AVAILABLE(10_8, 6_0)

这个宏告诉我们这方法分别随Mac OS 10.8和iOS 6.0被引入。

4.4 NS_DEPRECATED(10_0, 10_6, 2_0, 4_0)

这个方法随Mac OS 10.0和iOS 2.0被引入,在Mac OS 10.6和iOS 4.0后被废弃。

4.5 NS_CLASS_AVAILABLE(10_11, 9_0)

这个类分别随Mac OS 10.11和iOS9.0被引入。

4.6 NS_ENUM_AVAILABLE(10_11, 9_0)

这个枚举分别随Mac OS 10.11和iOS9.0被引入。

4.7 __TVOS_PROHIBITED 表示TVOS 禁止使用

NS_AVAILABLE_IOS(8_0) __TVOS_PROHIBITED;//表示从8.0开始才可以用的方法,TVOS 禁止使用

参考自:
文/MajorLMJ(简书作者)原文链接:http://www.jianshu.com/p/55adac99377b


http://www.ppmy.cn/news/323187.html

相关文章

Redis系列7-cluster(1)

redis集群模式解决的问题 并发量的瓶颈。 内存的瓶颈 网络带宽的瓶颈。 分布式数据库-数据分区 常用的分区策略 顺序分布 哈希分布(例如节点取模) 节点取余(客户端分区) 一致性哈希(客户端分区) 虚拟槽分区…

Centos 8.0 系统下MongoDB安装

MongoDB下载包获取 https://www.mongodb.com/try/download/community 安装配置 安装 第一步:在服务器 /data下创建 MongoDB 文件夹,用来存放安装包、服务以及之后 MongoDB 的数据库和日志文件。 cd /data // 进入安装目录 mkdir MongoDB // 创建…

Linux 如何从网上下载文件

将网络上的文件下载到使用 Linux 操作系统的计算机上,需要用到 wget 指令,使用该指令可能会面临两个问题。 首先,如何获取文件的下载 url?这需要你在浏览器上找到要下载文件的链接地址,然后右键 -> 复制链接地址&…

任意单片机使用Simulink模型开发

https://www.yuque.com/xiangshazuosha/kesozq/lgap8r

Weakly Supervised Cascaded Convolutional Networks阅读笔记

一、摘要部分 摘要部分是说他们针对弱监督情况下检测或分类任务提出了级联的网络架构,他们提出了两种模型结构,第一种结构分为两步,还有有一种结构分为三步,比第一种中间多了目标分割。实验是在PASCAKL VOC2007,2010&a…

基于电子商务平台客户管理系统的设计与实现_kaic

摘要 本论文旨在设计和实现一个基于电子商务平台的客户关系管理系统,以提高企业与客户之间的互动和关系维护效率。本文首先介绍了客户关系管理系统的相关理论和技术,并分析了其在电子商务平台中的应用价值。接着,进行了电子商务平台客户关系管…

Arcgis 符号库中图形到Grid控件的加载

///调用方法 private void gridView1_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e) { // 如果是符号样式列 if (e.Column.Equals(colSTYLEIMAGE)) { string strStyleCode e.DisplayText; Rectangle r e.Bounds; if (GISOpr.…

重写Combobox实现颜色带(ColorRamp)Symbol预览与选择——总结

在地图符号化的时候经常要预览与选择Color Ramp Symbol,像ArcMap那样将ColorRamp符号放在Combobox现实既方便也实用,下面是实现原理与方法。 1、首先解决的是如何将图片放在Combobox中,要知道vs2005乃至vs2008的Combobox都不可以加载图片的,所…