iOS开发之小技巧积累

没有奇迹,只有努力。我们成长在如此无奈而又相似的人生中,或许我们该真的活一次,即便是失败,至少这种成就感和真实感是很难得的。通过日积月累的技术成长,总有一天你也是个大咔。
首页 新闻资讯 行业资讯 iOS开发之小技巧积累

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

复制

[(MyAppDelegate*)[[UIApplication sharedApplication] delegate] MyMethodOrMyVariable];
  • 1.

2、获得程序的主Bundle:

复制

NSBundle *bundle = [NSBundle mainBundle];
  • 1.

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

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

复制

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

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

3、在程序中播放声音:

首先在程序添加AudioToolbox:

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

复制

#import<AudioToolbox/AudioToolbox.h>
  • 1.

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

复制

NSString *path = [[NSBundle mainBundle] pathForResource:@"soundFileName" ofType:@"wav"];  SystemSoundID soundID;  AudioServicesCreateSystemSoundID ((__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundID);  AudioServicesPlaySystemSound (soundID);
  • 1.

  • 2.

  • 3.

  • 4.

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

复制

[self setValue: 变量值 forKey: 变量名]; [self valueForKey: 变量名];
  • 1.

  • 2.

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

复制

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

6、获得设备版本号:

复制

float version = [[[UIDevice currentDevice] systemVersion] floatValue];
  • 1.

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

复制

UIApplication *app = [UIApplication sharedApplication]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:) name:UIApplicationWillResignActiveNotification object:app];
  • 1.

  • 2.

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

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

复制

for (NSString *family in [UIFont familyNames]) {     NSLog(@"%@", family);     for (NSString *font in [UIFont fontNamesForFamilyName:family]) {         NSLog(@"\t%@", font);     } }
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

9、为UIImageView添加单击事件:

复制

imageView.userInteractionEnabled = YES; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(yourHandlingCode:)]; [imageView addGestureRecognizer:singleTap];
  • 1.

  • 2.

  • 3.

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

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

12、页面切换效果设置:

复制

controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:controller animated:YES];
  • 1.

  • 2.

可供使用的效果:

复制

UIModalTransitionStyleCoverVertical  //新视图从下向上出现 UIModalTransitionStyleFlipHorizontal //以设备的长轴为中心翻转出现 UIModalTransitionStyleCrossDissolve  //渐渐显示 UIModalTransitionStylePartialCurl    //原视图向上卷起
  • 1.

  • 2.

  • 3.

  • 4.

恢复之前的页面:

复制

[self dismissModalViewControllerAnimated:YES];
  • 1.

13、获取截屏

复制

- (UIImage *)getScreenShot {     UIGraphicsBeginImageContext(self.view.bounds.size);     [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];     UIImage *image = UIGraphicsGetImageFromCurrentImageContext();     UIGraphicsEndImageContext();     return image; }
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

26    2013-04-11 16:08:50    iOS开发技巧积累