记录我的新工作(八)
来源:互联网 发布:升级下windows updata 编辑:程序博客网 时间:2024/03/29 20:01
早晨就开始拉肚子,真的很郁闷,还好有地铁,又赶上了867,嘿嘿,正点到公司,木有迟到哦!
今天三个主要的任务:
1、将静态库.a跟UI层的交互给弄清楚。
2、将zoom的原理给弄清楚。
3、对tile的display的原理弄清楚。
花了一上午的时间,做了个DEMO,终于把静态库部分搞清楚了,嘿嘿,原理很简单,没有所谓的回调函数,只是将.a中的函数的实现放到了上层应用,因为是静态加载,在同一个进程空间,所以调用没有什么问题。而且.a对上层的接口可以放到任意一个头文件中。上层和静态库直接跟WINDOWS下的调用还是有点区别,更像是同一个程序。关于Unix下的编程还需要进一步学习。
顺便对编译选项中的GCC及llvm之间的区别,看我们的工程都选择的LLVM,原来它会对程序进行优化,提高编译速度。
在将ZOOM的流程捋顺的过程中,对CALayer和UIScrollView两个控件的原理有了更深刻的理解,通过对CALayer的显示的了解,对地图在UI的实现终于弄清楚了。哈哈,而ZOOM的UI就是UIScrollView的实现,对界面熟悉后,可以对底层有更深入的了解,这方面都是相辅相成的,哪点都不能放过。
每个程序只有一个窗口Window,都有一个根Layer负责显示层,layer可以有sublayer,每个地图的tile都是一个layer,有自己的Rect显示区域,将同一个zoomlevel的所有tiles都作为这个级别的layer的sublayer,并且按照顺序排列,就可以显示出地图来了。UIScrollView可以对它的content进行拖到和缩放,它将地图layer作为子视图来显示和拖动或者缩放,通过事件进行相应的位置调整或更新地图。ZoomAndSetCenter。
- 记录我的新工作(八)
- 记录我的新工作(一)
- 记录我的新工作(二)
- 记录我的新工作(三)
- 记录我的新工作(四)
- 记录我的新工作(五)
- 记录我的新工作(六)
- 记录我的新工作(七)
- 记录我的新工作(九)
- 记录我的新工作(十)
- 记录我的新工作(十一)
- 记录我的新工作(十二)
- 记录我的新工作(十三)
- 记录我的新工作(十四)
- 博客,记录我的新工作
- 我的新工作
- 我的新工作
- 我的新工作
- oracle 关键字作字段
- Extjs 3.x常用属性和方法
- Shell游戏-贪吃蛇(牛)
- HashSet和HashMap的关系
- 缓冲输出
- 记录我的新工作(八)
- Android GradientDrawable类的详解,设置activity的背景颜色渐变效果
- epoll模型的使用及其描述符耗尽问题的探讨
- django 自定义 字段类型
- STM32 + SDIO + FATFS 调试记录
- 从泄密门分析中国网民习惯
- mhtml5.com举办的HTML5游戏大赛入围作品名单
- c# switch中使用goto
- c#winform DatagridView使用总结