文档章节

iOS开发:小技巧积累

Orange1
 Orange1
发布于 2012/10/16 17:19
字数 536
阅读 205
收藏 18

iOS开发:小技巧积累

2012-10-16 14:34
阅读数:400

单独窗口打印放大字号缩小字号

1、获取全局的Delegate对象,这样我们可以调用这个对象里的方法和变量...

1、获取全局的Delegate对象,这样我们可以调用这个对象里的方法和变量:

[(MyAppDelegate*)[[UIApplication sharedApplication] delegate] MyMethodOrMyVariable];

2、获得程序的主Bundle:

NSBundle *bundle = [NSBundle mainBundle];

Bundle可以理解成一种文件夹,其内容遵循特定的框架。

Main Bundle一种主要用途是使用程序中的资源文件,如图片、声音、plst文件等。

NSURL *plistURL = [bundle URLForResource:@"plistFile" withExtension:@"plist"];

上面的代码获得plistFile.plist文件的路径。

3、在程序中播放声音:

首先在程序添加AudioToolbox:

其次,在有播放声音方法的.m方法添加#import:

#import<AudioToolbox/AudioToolbox.h>

接下来,播放声音的代码如下:

NSString *path = [[NSBundle mainBundle] pathForResource:@"soundFileName" ofType:@"wav"]; 

SystemSoundID soundID; 

AudioServicesCreateSystemSoundID ((__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundID); 

AudioServicesPlaySystemSound (soundID); 

4、设置和获取类中属性值:

[self setValue: 变量值 forKey: 变量名];

[self valueForKey: 变量名];

5、让某一方法在未来某段时间之后执行:

[self performSelector:@selector(方法名) withObject:nil afterDelay:延迟时间(s)]; 

6、获得设备版本号:

float version = [[[UIDevice currentDevice] systemVersion] floatValue];

7、捕捉程序关闭或者进入后台事件:

UIApplication *app = [UIApplication sharedApplication];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:) name:UIApplicationWillResignActiveNotification object:app];

applicationWillResignActive:这个方法中添加想要的操作

8、查看设备支持的字体:

for (NSString *family in [UIFont familyNames]) {

    NSLog(@"%@", family);

    for (NSString *font in [UIFont fontNamesForFamilyName:family]) {

        NSLog(@"\t%@", font);

    }

}

9、为UIImageView添加单击事件:

imageView.userInteractionEnabled = YES;

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(yourHandlingCode:)];

[imageView addGestureRecognizer:singleTap];

10、添加多语言支持: 比如Image Picker这样的组件,它上面的按钮的文字是随着设备语言环境的改变而改变的,但是要先在工程添加语言:

11、使程序支持iTunes这样的设备,比如可以使用PC端的工具往程序的Documents中拖放文件。

12、页面切换效果设置:

controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

[self presentModalViewController:controller animated:YES];

可供使用的效果:

UIModalTransitionStyleCoverVertical

UIModalTransitionStyleFlipHorizontal

UIModalTransitionStyleCrossDissolve

UIModalTransitionStylePartialCurl

恢复之前的页面:

[self dismissModalViewControllerAnimated:YES];

本文转载自:http://www.cocoachina.com/newbie/tutorial/2012/1016/4928.html

Orange1
粉丝 9
博文 39
码字总数 21934
作品 0
苏州
程序员
私信 提问
加载中

评论(2)

子达如何
子达如何
just soso
侯文斌
侯文斌
非常好。
iOS 开发之一些著名开发者博客

国内 王巍 王巍目前在日本横滨任职于 LINE。工作内容主要进行 Unity3D 开发,8小时之外经常进行 iOS/Mac 开发。他的陈列柜中已有多款应用,其中番茄工作法工具非常棒。 博客 池建强 池建强,...

maskmale
2018/02/25
0
0
OSC 第 76 期高手问答 — iOS 性能优化&数据持久化

OSCHINA 本期高手问答 ( 5月27日- 6月2日) 我们请来了@智捷课堂(关东升)为大家解答关于 iOS 性能优化和数据持久化 方面的问题。 关东升,智捷课堂创始人,国内知名 iOS 技术作家,iOS 技术...

叶秀兰
2015/05/27
4.2K
27
iOS股票K线图、校园助手、适配iPhone X、版本检测等源码

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

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

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

TomatosX
2015/06/12
142
0
火热报名!为庆祝iOS顶尖专家关东升老师新书出版,TRIG Talent将为其举办签售会和公开课,

关东升老师—— 写了20年程序的码农,做了10年IT培训的教书匠,写了15本书的笔农 从一位普通的Java程序员,到iOS系统专家 从内部指导团队项目,到成为大受欢迎的培训讲师 从自学iOS开发,到出...

poppy
2016/07/25
8
0

没有更多内容

加载失败,请刷新页面

加载更多

How to find table in a database with HeidiSQL

In this article I want to show you how you can find table by name with HeidiSQL. Find table by typing One of the options to find table is to having focus in the object explorer ......

Ciet
7分钟前
2
0
基于SWIG跨平台开发的C++编码规范

1、数组定义 使用数组不建议采用指针方式eg double *,或者 double test[4] 直接采用std::vector或list即可。对于固定长度的数组定义为一个结构体 double test[4]instead ofstruct Vec...

洋碱
9分钟前
2
0
用Markdown编程之布局

基本就是用Markdown的布局方式。 \:是转义符号,最高优先级。 行首+# :用于空间布局,1-6分别标明:模式根、子模式、子模式内。 行首+> :用于标注和通信,1个标明标注,2个标明分类,3个标...

dwcz
16分钟前
3
0
SpringBoot定时器多线程解决方案

@Scheduled 作用:spring定时器(定时执行一次或定时轮询执行一段代码) 使用场景:注解在方法上 参数说明:常用参数 @Scheduled 参数说明 String cron:cron表达式定义了方法执行的时间规则(网...

whoisliang
17分钟前
4
0
3.01、Spring AOP的理解

注:转 https://mp.weixin.qq.com/s/PsgTLn8cdTxdd542XgVkUA 什么是AOP AOP(Aspect-Oriented Programming), 即 面向切面编程 , 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相......

追忆2025
22分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部