ios-根据设备类型定义常量(iPad/iPhone)

问题描述

根据设备类型定义常量(iPad/iPhone)

在工程中的文件定义常量。

我知道通常定义方法是:

const CGSize kSize = { 46.f, 44.f };

但是我希望能实现:

if device type iPad
const CGSize kSize = { 146.f, 144.f };
else
const CGSize kSize = { 46.f, 44.f };

不知道应该怎么实现?谢谢帮忙。

解决方案

应用程序没运行时你是无法知道运行在什么设备上的 所以只能在运行中来根据device类型给
kSize 赋值

- (void)viewDidLoad
{
   CGSize kSize;
  if (UIUserInterfaceIdiomPad == [[UIDevice currentDevice] userInterfaceIdiom]) {
    kSize = { 146.f, 144.f };
  } else {
    kSize = { 46.f, 44.f };
  }
}
时间: 2024-09-20 00:28:02

ios-根据设备类型定义常量(iPad/iPhone)的相关文章

ios中怎么定义数组常量?

问题描述 ios中怎么定义数组常量? static const NSArray *imgArr = @[@"引导页1",@"引导页2",@"引导页3"]; 我这样写,报错:initializer element is not a compile-time constant 请问要怎么写? 解决方案 IOS:定义常量iOS 常量和全局变量的定义关于iOS一些常量定义的技巧 解决方案二: 全局变量必须被初始化为一个恒定的值, 如果你想有一个全局变量,

IPad/IPhone 开发中的布局问题

  初步学习IOS(IPad/IPhone)开发,这两天在界面布局上花了很多时间. IOS的界面方法有两种方式: 1 使用Interface Builder创建界面,然后和相应的controller相关联 2 通过code手动的添加UI组件和布局 优缺点: 方法1可以创建界面快捷而简单,也会比较易于维护.缺点就是动态性不够,据说性能上也会差些(由于需要读取XIB文件). 方法2的优点就是比较灵活和可控.缺点正好是方法1的优点的方面. 个人对这两种方式的体会: *使用方法1来划分组件,每个功能都有

iPod/iTouch/ipad/iPhone新手注意事项

iTouch4到手近1个月了,基本上玩转了,记录一些注意事项:   1.未越狱的情况下,如何下载免费的itunes Store软件? 以下内容凭印象记录的,大家自行验证真伪:在itunes Store里,有一个国家选择,选择美国,然后随便找一款免费软件并购买,系统会问你是否有app Id,如果没有,有一个马上创建的选项,选择马上注册,在创建的过程中,有一个"不绑定信用卡",后面的事情,你懂的(注:如果在中国区,创建app Id时,没有这一选项,典型的歧视中国人)   2.尽早备份SHS

php 中 define 定义常量和单双引号问题

一.define定义常量问题        <?php   define('DATABASE', 'MYSQL');   define('DATABASE_USER', 'ROOT');   define('DATABASE_PASSWORD', 'PASSWORD');   ?>                直接使用"DATABASE"常量,代表的就是"MYSQL".                $arr = array('fruit'=>'

C#箴言:定义常量的两种方法

在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant).前者用"const"来定义,后者用"readonly"来定义. 对于静态常量(Compile-time constant),它的书写方式如下: public const int MAX_VALUE = 10; 为什么称它为静态常量呢,因为如上声明可以按照如下理解(注意:如下书写是错误的,会出编译错误,这里只是为了方便说

拔高你的Java代码质量吧:推荐使用枚举定义常量(转)

提高你的Java代码质量吧:推荐使用枚举定义常量 一.分析  常量的声明是每一个项目中不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量.不过,在1.5版之后有了改进,即新增了一种常量声明方式,枚举常量.代码如下:    enum Season{ Spring,Summer,Autumn,Winter; }   二.场景  那么枚举常量与我们的经常使用的类常量和静态常量比有什么优势呢?  1.枚举常量更简单  先把Season枚举翻译成接口,代码如下:    interf

java中有关定义常量int初始值时,怎样将出是最定义为最大

问题描述 java中有关定义常量int初始值时,怎样将出是最定义为最大 例如:int i=?;?处定义为最大值 解决方案 int i=Integer.MAX_VALUE; int a=Integer.MIN_VALUE; double b= Double.MAX_VALUE; double c= Double.MIN_VALUE; float d= Float.MAX_VALUE; float e=Float.MIN_VALUE;每个基础类型都有对应的类,有用请采纳 解决方案二: java中定义

小心升级!iOS 10.2可能会让更多iPhone突然关机

日前苹果刚刚发布了最新的 iOS 10.2 更新.除了针对美国地区加入了新款"电视"应用以及新添加了100多个表情符号之外,苹果还修复了若干bug:包括强化了MFi助听设备的支持,增加了HomeKit相关配件的通知支持等.但针对此前闹得沸沸扬扬的自动关机事件,似乎并没有引入任何改进,反而有愈演愈烈的趋势. 此前苹果iPhone 6s曾被曝出存在电池门,即在电池大约还剩30%左右电量的情况下,一部分批次的iPhone 6s会出现自动关机.苹果也确认了该问题的存在,不但在官网发表公开声明,

《CCNP TSHOOT 300-135认证考试指南》——2.3节利用Cisco IOS验证和定义故障问题

2.3 利用Cisco IOS验证和定义故障问题CCNP TSHOOT 300-135认证考试指南接到故障工单后的首要任务就是验证并定义故障问题,利用一些相对简单的任务即可确认所报告的故障问题,并且在大多数情况下有助于聚焦故障排查工作.Cisco IOS内置了三款易于使用的工具(ping.Telnet和traceroute),可以帮助验证网络连接性并明确定义故障问题.本节将讨论利用ping.Telnet和traceroute等工具验证故障问题并聚焦故障排查工作的方式. 关键 检测网络连接性的最常