文档章节

iOS 开发小技巧 (持续更新)

广州英趣科技
 广州英趣科技
发布于 2013/06/05 23:46
字数 406
阅读 287
收藏 5

1.判断是否是ARC环境

#if !__has_feature(objc_arc)
     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
#else
     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
#endif

2.判断是否是Debug 还是release ,Debug 才输出log.

#ifdef DEBUG
   CCLog(format,...) NSLog(format, ##__VA_AGRS__)
#else
   CCLog(format,...)
#endif

 3.取得系统首选项语言的两种方法

//(1)
[[NSLocale preferredLanguages] objectAtIndex:0];
//(2)
 NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
 NSArray* languages = [defs objectForKey:@"AppleLanguages"];
 NSString* preferredLang = [languages objectAtIndex:0];

 4.防止自动锁屏

[UIApplication sharedApplication].idleTimerDisabled = YES;

5.调节屏幕亮度 (iOS5.0 以上)

//UIScreenBrightnessDidChangeNotification
//设置屏幕亮度
[[UIScreen mainScreen] setBrightness:1.0];
//获取屏幕亮度
[UIScreen mainScreen].Brightness;

6.iOS应用中加载第三方字体 

    --- 1。从将所需要的字体下载下来,字体库的格式为.ttf 

    --- 2。将下载下来的字体库文件拖到项目工程中,做为一个资源文件。

    --- 3。在属性列表plist加入字体文件(文件命任意,可以不与其表示的字体名一样):UIAppFontsFZXiaoZhuanTi-S13T.ttf

   --- 4。双击字体库文件.ttf,窗口的Title就是该字体的名字。 5。在程序中使用, [UIFont fontWithName:@"FZXiaoZhuanTi-S13T" size:12]

7.判断是否iPhone5 

#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
8.判断是否iPad
#define iPad ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad ? YES : NO)

9.使用ImageIO framework(iOS 4之后可用) 中提供的一个选项来显式保持这个解压缩的版本:

NSDictionary *dict = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] 
forKey:(id)kCGImageSourceShouldCache]; 
 
CGImageSourceRef source = CGImageSourceCreateWithURL((CFURLRef)url, NULL); 
CGImageRef cgImage = CGImageSourceCreateImageAtIndex(source, 0, (CFDictionaryRef)dict); 
 
UIImage *retImage = [UIImage imageWithCGImage:cgImage]; 
CGImageRelease(cgImage); 
CFRelease(source);

这样初始化图片就可以让解压缩仅发生一次:第一次解压缩消耗很长一段时间,第二次完全不消耗。



© 著作权归作者所有

广州英趣科技
粉丝 31
博文 53
码字总数 21824
作品 0
广州
程序员
私信 提问
加载中

评论(0)

iOS股票K线图、校园助手、适配iPhone X、版本检测等源码

iOS精选源码 快速创建menuItem控件 YHPhotoBrowser 优化的网络图片浏览 cocoaAsynSocket demo (包含客户端和服务端) SwipeMenuViewController现在支持iPhoneX和Swift4。 仿微信的提醒对话框 ...

sunnyaigd
2017/10/31
112
0
那些在学习iOS开发前就应该知道的事(part 1)

英文原文:Things I wish I had known before starting iOS development—Part 1 设计师设计出来了一个不错的引导界面,然而当我看到设计稿的时候,我们的app也没几天就要上线了。这个界面模...

TomatosX
2015/06/12
152
0
fir.im Weekly - 嘘,关于科学上网!

上 Github 交友刷 StackOverflow 解惑,科学上网是攻城狮必备技能,加快打怪练级速度。关于科学上网,@左耳朵耗子 在微博上分享了一篇文档,轻一点教你建一个VPN服务器,重一点到教你在路由器...

风起云飞fir_im
2016/08/17
246
0
【资源集合】94个iOS开发资源推荐,帮你加速应用开发

资源总结类文章总是开发者们所喜欢的,网上已经有各种weekly、头条以及期刊类资源总结,今天这篇来自于开发者Viswateja Reddy的总结。原文对各个项目的介绍非常简单,为了更便于阅读,编辑在...

周宏伟
2015/12/10
0
0
iOS 学习资料整理

视频教程(英文) Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS SDK 的使用, 属于 iOS 基础视频 iPad and iPhone Applic...

拉偶有所依
2015/01/19
2.6K
5

没有更多内容

加载失败,请刷新页面

加载更多

如何用Python增强Excel,减少处理复杂数据的痛苦?

Excel既是一种祝福,也是一种诅咒。 当涉及到足够小的数据和足够简单的操作时,Excel是王道。然而,一旦发现自己在努力走出这些区域,它就会变成一种痛苦。 当然,可以使用ExcelVBA来解决这些...

Python圈子
25分钟前
14
0
Apache配置虚拟目录+Zend Studio访问

1 概述 Apache配置虚拟目录,然后可以通过Zend Studio的工程去访问,只需要修改Apache的httpd.conf文件. 2 修改httpd.conf 找到Apache安装目录下的httpd.conf,在末尾加上: <IfModule dir_modul...

氷泠
26分钟前
25
0
Android知识体系总结2020之Android部分控件篇

初级 1.基础布局 线性布局(LinearLayout) 相对布局(RelativeLayout) 约束布局(ConstraintLayout) 网格布局(GridLayout) 表格布局(TableLayout) 帧布局(FrameLayout) 绝对布局(AbsoluteLayout...

ClAndEllen
28分钟前
21
0
为什么要分库分表?

随着近些年信息化大跃进,各行各业无纸化办公产生了大量的数据,而越来越多的数据存入了数据库中。当使用MySQL数据库的时候,单表超出了2000万数据量就会出现性能上的分水岭。 并且物理服务器...

php开源社区
29分钟前
28
0
关于STM32的裸机多任务多线程心得

多任务多线程 多任务"并行处理" 首先我们来理解一下并行处理,初学者写程序通常是顺序执行,当我们逐渐想成为“专业”人士的时候顺序执行 的程序已经不能满足我们了,所以就需要多任务多线程...

shzwork
31分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部