iOS开发:开发中的一些小技巧

一、关于几个方法的巧用

//1.程序一启动的时候会把所有的类加载进内存

//加载类的时候调用,比main函数调用的还要早

+ (void)load;


//2.当第一次使用这个类或者子类的时候调用

//作用:初始化类。

+ (void)initialize;



二、在iOS开发中使图片显示原色的方法
1.在xcode中配置,如图:





2.通过代码实现:

- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingModeNS_AVAILABLE_IOS(7_0);


三、关于idinstancetype区别

使用和都是在程序运行时,动态匹对象的。在一个方法需要返回对象时一般不写具体的类而是使用和,当子类继承父类时就可以动态匹配而不至于使程序崩溃。

id不可以调用点语法,但可以调用对象的set、get方法,而且是可以调用任何对象的set、get方法,当这个对象没有set、get方法时,编译器是不能帮我们检查错误。

instancetype是可以调用点语法的,而且当方法不存在时,编译器是可以帮助我们检查错误的。


四、给只读属性赋值的技巧


遇到这种情况有两种方法可以解决:

方法一:使用kvc

[selfsetValue:tabBarforKeyPath:@"tabBar"];

方法二:调用底层的消息机制

objc_msgSend(self,@selector(setTabBar:),tabBar);

两种方法的本质都是runtime机制,其实kvc执行时就是调用的方法二的方法,在xcode7之后苹果原则上是不推荐使用id objc_msgSend(idself,SEL op, ...)方法的,需要在xcode中设置。方法如下:




五、设置根据设置Button大小的方法。

方法一:

拿到当前的背景图片,根据图片的大小设置Button的大小

self.pushButton.frame =CGRectMake(

btnX, 

btnY, 

self.pushButton.currentBackgroundImage.size.width,

self.pushButton.currentBackgroundImage.size.height

);

拿到当前设置的图片,根据图片的大小设置Button的大小

 self.pushButton.frame =CGRectMake(

btnX, 

btnX, 

self.pushButton.currentImage.size.width

self.pushButton.currentImage.size.height

);


方法二:sizeToFit:默认会根据按钮的背景图片或者image和文字计算出按钮的最合适的尺寸。

[self.pushButtonsizeToFit];


七、xcode中好用的插件

1.插件 

对项目中图片提供自动提示功能的插件:KSImageNamed-Xcode-master 

提供快速创建自动注释:VVDocumenter-Xcode-master 

查看xcode中已经安装的插件:使用Alcatrazhttps://github.com/supermarin/Alcatraz

2.使用介绍: 

1KSImageNamed-Xcode-master的使用 安装该插件后,会对文件中图片进行智能提示。 

2VVDocumenter-Xcode-master能提供快速注释只要在需要进行注释的地方敲三个斜杠(即///),就能根据环境提供以下两种格式的注释。

3)安装完成重启Xcode如果出现提示框,请选择Load Bundle

  进入Xcode,在WindowPackage Manager打开Alcatraz

  Alcatraz页面选择installed就可以看到你安装的插件

  也可以直接进入插件目录看:sudo open /Users/你的用户名/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins


七、interactivePopGestureRecognizer

苹果一直都在人机交互中尽力做到极致,在iOS7中,新增加了一个小小的功能,也就是这个api:self.navigationController.interactivePopGestureRecognizer.enabled = YES;
这个api功能就是在NavigationController堆栈内的UIViewController可以支持右滑手势,也就是不用点击右上角的返回按钮,轻轻在屏幕左边一滑,屏幕就会返回,随着ios设备屏幕的增大,这个小功能让手指短,拇指大和手残人士看到了福音。这个功能是好,但是经常我们会有需求定制返回按钮,如果手动定制了返回按钮,这个功能将会失效,也就是自定义了navigationItem的leftBarButtonItem,那么这个手势就会失效。解决方法找到两种 
 1.重新设置手势的delegate
self.navigationController.interactivePopGestureRecognizer.delegate = (id)self;
2.当然你也可以自己响应这个手势的事件
 [self.navigationController.interactivePopGestureRecognizer addTarget:self action:@selector(handleGesture:)];
有更多方法以后继续补充,这里可以根据自己需要进行选择,如果只是简单定制了返回按钮,第一种最简单,一句代码搞定。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值