苹果开发 笔记(19)

今天在写oc的时候也遇到不少问题,今天整理一下记录一下小知识

问题一:怎样计算UILabel 的高度?

当使用真机模拟的时候,UILabel 有一些方法原本在模拟器没有出现错误,但在低版本的真机下出现问题,导致了运行时报错 闪退。因为在高版本API部分接口已经调整过了,所以真机就出现了问题为了适应不同的版本需求, 需要判断IOS的版本做不同的需求。
IOS6版本方法 sizeWithFont 在IOS7版本已经不提倡了。
IOS7版本方法 boundingRectWithSize IOS6没有该方法
所以计算高度的时候 为了兼容IOS6的系统也可以根据判断版本去调用不同的方法去计算方法其高度。
个人是想不懂,苹果调整API不做底层修改,非得程序报错了才让其去适应这一点真想不透。

问题二:怎样判断IOS的版本?

UIDevice 类记录了IOS的版本信息,使用它就可以判断该类的版本号.使用define 去定义也是可以。

  CGFloat version = [[UIDevice currentDevice] systemVersion].floatValue;
#define IOS_6 [[UIDevice currentDevice] systemVersion].floatValue >=6;
#define IOS_7 [[UIDevice currentDevice] systemVersion].floatValue >=7;
#define IOS_8 [[UIDevice currentDevice] systemVersion].floatValue >=8;

问题三:怎样使用OBJC判断 引入常用包?

#ifdef __OBJC__

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif

我们经常需要引入Foundation 和UIKit的包,可以定义pch文件里面定义导入两个,这样子我们就不用经常手动去添加这两个包。

问题四:怎样换算时间?

换算时间需要了解字母的大小写的区别.使用NSDateFormatter 这样的方式去格式化处理时间。

NSDateFormatter *df=[[NSDateFormatter alloc]init];
        [df setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
        NSDate *date =[NSDate date];
        NSString *str = [df stringFromDate:date];
        NSLog(@"结果是:%@",str);//2015-05-06

怎样处理一天后的时间?
怎样处理隔天的时间?

NSTimeInterval secondsPerDate =24*60*60;
NSDate *tomorroe =[NSDate dateWithTimeIntervalSinceNow:secondsPerDate];
NSLog(@"%@",tomorroe);

NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-secondsPerDate];
NSLog(@"%@",yesterday);

引用下面文章的引出:时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone) – IOS(实例)

日期格式如下:
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值