很多时候,要记住iPhone试图加载的life-cycle对应的代理函数是有点头疼的,特别是用Interface Builder构建界面的情况下。这给如何找到最佳的位置来添加自定义的视图绘画/初始化/配置成为了一个对于新手来说的难题。我把目前用到的可能会override的方法总结在这张图里。注意两点 1. 这是我目前遇到的case的总结。我不100%确定适用于所有情况 2. 不是每个case都会用到这些方法的重载。我只是把它们放在了一张图里面而已
Posts tagged 编程
iOS4中Core Motion框架的介绍和使用
作为一个刚学习iPhone编程一周的人来说,其实写这篇文章的目的不是传道授业解惑,而是为了知识的总结。如果能吸引到各位为我传道授业解惑那再好不过了。文章基本的内容,整个流程是参照WWDC 2010上的session 423: Sensing Device Motion in iOS4写的,同时参考了开发文档Event Handling Guide for iPhone OS: Motion Events。当然,我在介绍的时候会添加一些个人的总结和原理的补充。文章可能有错误的叙述,发现后请指出,谢谢。 我之前的文章:移动设备智能化的基石–从iPhone4的传感器谈起曾经写过,iPhone4增加的陀螺仪弥补了很多现有motion sensor的不足,也介绍了很多背景知识。加速度计最大的缺陷,就是无法检测沿着重力加速度轴方面的旋转变化,而且,如果仅仅有加速度计,无法避免重力的干扰。传统的方法是怎么做的呢?先高通滤波,把近似于直流分量的重力加速度隔离出来,再低通滤波,把因为手机颤抖产生的高频噪声去掉。大量的滤波,不仅会影响到原本的加速度信号,还会严重减缓处理速度,并随之影响程序相应速度。电子罗盘在这方面毫无帮助,这玩意本身的读数都需要很长的稳定时间,还特别容易受环境干扰。所以,陀螺仪的引入,解决了这几个大问题,我们可以用它来测量沿重力加速度的旋转,也可以测量快速的旋转,大大增强了motion相关的处理工作,更重要的是,通过陀螺仪可以判断手机当前的摆放位置和姿势,然后通过这个信息能够得到相当准确的重力加速度分量,而不是从加速计采集的包含很多噪声的加速度值中提取。所以说,陀螺仪对于motion sensing方面的工作,是最关键的一个部件。陀螺仪的具体原理,请参考之前那篇文章。