iOS 小功能集锦

2017-06-01  本文已影响2人  安静的抉择

1、主线程刷新

2、获取工程内的数据(image plist)

3、判断设备的软件版本

4、定义屏幕的宽和高

5、防止锁屏

6、设置混编

7、打包安装

8、注释插件

9、创建导航栏按钮

10、设置时间间隔,并添加到runloop当中一直滚动

11、延迟操作

12、推出视图同时隐藏控制栏

13、退出第一响应

14、关联:一个对象可以保持对另一个对象的引用,并获取那个对象

15、pch文件使用

16、证书的制作(环信推送)

17、国际化

18、代码块地址

19、SVN使用

20、计算文字宽度、高度

21、删除项目中所有.svn和.git文件

22、自定义alertView

23、不同tabbar之间跳转


1、主线程刷新

dispatch_async(dispatch_get_main_queue(), ^{

[_tvContent reloadData]; //数据添加结束后加载表格

});

2、获取工程内的数据(image plist)

NSArray *datas = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"datas" ofType:@“plist"]];

3、判断设备的软件版本

#define iPhoneSystemVersion ([UIDevice currentDevice].systemVersion.floatValue)

4、定义屏幕的宽和高

#define MainScreenWidth  ([UIScreen mainScreen].bounds.size.width)

#define MainScreenHeight ([UIScreen mainScreen].bounds.size.height)

5、防止锁屏

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

6、设置混编

“ios中如果arc和非arc文件混编,可以在build parses中指定compile flags,如果arc文件设为”-fobjc-arc",非arc文件设为"-fno-objc-arc"”

7、打包安装

http://blog.csdn.net/remote_roamer/article/details/18731897

第一步 product —> archive

第二步  show in finder

第三步  显示包内容,拖拽到itunes的应用程序中

第四步 右键点击iTunes中生成的文件,点击Show in Finder

第五步 安装

8、注释插件

很多时候,为了快速开发,很多的技术文档都是能省则省,这个时候注释就变得异常重要,但是每次都要手动输入规范化的注释,着实也麻烦,但有了VVDocumenter,规范化的注释,主需要输入三个斜线“///”,就OK啦!

项目地址:https://github.com/onevcat/VVDocumenter-Xcode

但是问题来了,很多人都安装了,发现根本就用不了,其实你只是少了一个关键的步骤。

(1)下载插件

(2)用Xcode打开工具VVDocumenter,编译(Cmd + B)

(3)退出Xcode,并重启。

(4)关键的一步,当我们点击Xcode打开后,会弹出一个对话框,这时默认的是Skip Bundle,我们要选择的是另一个Load Bundle。如果你选择了Skip,就不会去加载这个插件,必须Load。

9、创建导航栏按钮

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"< Back" style:UIBarButtonItemStyleDone target:self action:@selector(rebackButtonClick:)];

10、设置时间间隔,并添加到runloop当中一直滚动

/**

*  参数1:时间间隔

*  参数2:self

*  参数3:时间到了执行的方法

*  参数4:nil

*  参数5:NO

*/

scrollTimer = [NSTimer scheduledTimerWithTimeInterval:9.0 target:self selector:@selector(switchFocusImageItems) userInfo:nil repeats:NO];

[[NSRunLoop currentRunLoop] addTimer:scrollTimer forMode:NSRunLoopCommonModes];

11、延迟操作

//延迟1000000000纳秒 == 1秒

dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC));

void (^task)() = ^ {

// 延迟操作执行的代码

[self showData];

NSLog(@"%@", [NSThread currentThread]);

};

// 经过多少纳秒,由主队列调度任务异步执行

dispatch_after(when, dispatch_get_main_queue(), task);

// 先执行就是异步,后执行就是同步

NSLog(@"come here");

12、推出视图同时隐藏控制栏

view.hidesBottomBarWhenPushed = yes;

13、退出第一响应

[textFiled resignFirstResponder];

14、关联:一个对象可以保持对另一个对象的引用,并获取那个对象

首先添加#import

通过objc_setAssociatedObject可以实现实例之间数据传输,更多还有通知,block,代理等多种方式

NSMutableArray *imageitems = [NSMutableArray arrayWithCapacity:0];

objc_setAssociatedObject(self, (__bridge const void *)@"LALALALALAL", imageitems, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

NSArray *imageItemsOther = objc_getAssociatedObject(self, (__bridge const void *)@"LALALALALAL");

15、pch文件使用

首先、先把pch上面的开关调为YES

其次、$(SRCROOT)/项目名称/pch文件名

16、证书的制作(环信推送)

首先环信项目注册

登录开发者中心,制作证书

{

先本地钥匙串导出

选取制作推送证书

连接钥匙串文件

下载下来双击

进入钥匙串管理里面

点击钥匙导出文件即可

}

登录环信管理后台,输入证书名字

项目里面设置推送证书名字

17、国际化

//国际化名字

#define LCName(key) NSLocalizedString(key, @"Localizable")

18、代码块地址

~/Library/Developer/Xcode/UserData/CodeSnippets

19、SVN使用

http://blog.csdn.net/kangli_1990/article/details/51444790

.a文件上传设置:

首先打开软件左上角 CornerStone-Preferences-SubVersion

第一个地方把对号去掉,第二个地方把.a那个删除,然后save。

然后把你的.a文件放到本地的相应文件夹下,

但是 CornerStone(我的是v2.7.10 版本的) 里相应文件夹下看不到带问号的.a文件的话,点击上边 View-Show Ignored  Items

到这里就ok了,选中你的静态库 点击底部Add 问号会变成A,然后就可以提交了。

20、计算文字宽度、高度

CGSize titleSize = [_titleLabel.text sizeWithAttributes:@{NSFontAttributeName : _titleLabel.font}];

21、删除项目中所有.svn和.git文件

cd到该文件夹

//删除文件夹下的所有 .svn 文件

find . -name ".svn" | xargs rm -Rf

//删除文件夹下的所有 .git 文件

find . -name ".git" | xargs rm -Rf

22、自定义alertView

[[UIApplication sharedApplication].keyWindow addSubview:self.bigMaskBGView];

23、不同tabbar之间跳转

不同tabbar之间跳转,同事回到根视图并推出控制器

[self.tabBarController setSelectedIndex:2];

UINavigationController *nav = self.tabBarController.viewControllers[2];

[nav pushViewController:consultionCtl animated:YES];

[self.navigationController popToRootViewControllerAnimated:NO];

上一篇下一篇

猜你喜欢

热点阅读