记录我的新工作(八)

     早晨就开始拉肚子,真的很郁闷,还好有地铁,又赶上了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。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值