打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
IOS开发基本技能(二)

IOS开发基本技能

CALyer 有一个属性叫做contents,这个属性的类型Swift中定义为Any,OC中被定义为id,意味着它可以是任何类型的对象。在这种情况下,你可以给contents属性赋任何值,你的app仍然能够编译通过。但是,在实践中,如果你给contents赋的不是CGImage,那么你得到的图层将是空白的。

如下图所示,为了通常我们赋值为CGImage后,图片将会填充满整个图层,如果图片的分辨率与图层尺寸不成比率,就会造成图片拉伸现象。

要解决图片的拉伸问题,得使用图层的contentsGravity属性。CALayer与 contentMode对应的属性叫做contentsGravity。contentsGravity可选的常量值有以下一些:

我们可以使用 kCAGravityResizeAspect 属性值避免被拉伸填充图层

当然未填满的区域还是已背景颜色显示。

技能列表

技能列表

1、内存管理,不需要防御式编程,但是大脑一定要清晰的知道自己使用的

对象的内存情况。

2、UIKit,熟练掌握,能不看文档就知道常用的控件有哪些方法以及能做

什么。

3、Storyboard(xib)

4、Auto Layout 和 Size Classes,前者更重要

5、各种手势处理

6、KVO\KVC

7、GCD

8、delegate(不要与代理设计模式混淆)

9、Block

10、Notification

11、APNs,远程通知

12、视图状态保存

其实开发中大多数问题都是“临时”遇到的问题,只有平时积累的够多,才能游刃有余的解决。上面的这些技能只能算是抛砖引玉,更多地学习主要还是在自己遇到问题或者遇到不懂的知识点的时候,每一个困难都是财富,都是一个学习的机会,像 CoreData、设计模式之类的技能你难道不学吗?兴趣和遇到问题的切入点很重要,不要敷衍自己,多看教学视频,教学视频看的越多,越会觉得自己需要学的就越多。

另外,技能这块也不要把关注点全放在 iOS 的平台技术上,做开发的一定不能偏科,有时候你觉得自己只是某一方面比较薄弱,比如说“我就是记忆力不行”,其实差距是全面的。

怎样成为一个高手?显然高手总是通过学习产生的。

关于Objective-C 和 Swif

Swift 目前非常不稳定,连 Xcode 都对它兼容的不好,每次 Swift 有个稍大的更新就像是把项目推倒重来,而且也不可能完全只用 Swift 来开发一个项目,基于 Objective-C 和 C 的框架有很多,iOS 是开发离不开 C 的。

除此之外,我觉得 OC 比 Swift 更加灵活,前者更依赖运行时,后者几乎就是编译时,OC 能做很多 Swift 做不了的事情,如运行时的关联对象等,不过这并不是说 Swift 不重要,只是一定要排一个优先级的话,我觉得短期内 Swift 无法对 Objective-C 造成太大影响,所以先学好 OC 还是更好一些,而且技多不压身嘛。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
知无不言 容芳志:弃用Objective
安卓iOS之后 第三大移动系统会重新出现么
Swift和Objective-C混编的注意啦
iOS开发 OC和swift混编遇到的问题(一)
Swift语言简介
别闷头写代码了!与大牛交流,事半功倍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服