ios框架类图(UI)

来源:互联网 发布:淘宝我的通信在哪里 编辑:程序博客网 时间:2024/05/17 21:06

先贴个UIKit的关系图



然后说说自己常用的一些类,及简要介绍下自己用的功能,介绍的功能,都会在以后的blog中.详细的介绍.当然了,要想具体知道这个类是干什么的,还是推荐去苹果的文档自己看,但是苹果的文档只是个工具书,提供API的功能和传参,要想真正学会怎么用,还是看相关书籍和相关的blog比较靠谱一些.

UIBezierPath:这个类本人总和Core Graphics联合使用,来画一些图,譬如navagitionBar的backItem的尖角形状,曾经看见个老外画了个圆角的拱门,但是用Core Graphics画图并不一定比自己往上贴image快,并且有时候还不如贴image,因为他是用的CPU渲染,Core Graphics用牛叉了可以替代大部分OpenGLES的实现效果,但是效率应该没有OpenGLES高,因为毕竟OpenGLES是用GPU渲染的,但是他比OpenGLES还是简单不少的.

UIColor和UIFont就先不多说了,UIColor的RGBA以后会详细说,对大型的手机游戏和大图的处理还是很重要的.UIFont可倒入已有的字体,并且可以根据Frame大小适配字体,也可以根据字体大小适配Frame,这个都以后说吧.

UIImage这个和CGImage有些很变态的处理图像方法,一般图像占用内存是很大的,手机的内存,你懂的,之前做SNS客户端时候做相册的都是折翼的天使,有木有...

UIGestureRecognizer,手势,支持ios3.2及以上,反正我是喜欢用touchesBegin,touchesMoved,touchesEnded来自己实现手势的操作,自己动手丰衣足食嘛,并且各种bug都在自己掌控中,不过自己写的时候要有比较强的线程管理意识,因为到时候要各种开关线程.线程也是很占内存的,貌似没记错的话是16K到2M,搞不好几十个线程就让你程序挂了.

UIPopoverController,这个是苹果明确要求只能用于ipad,如果你想用于iphone,还是让美工搞个图吧,并且这东西当时真是写郁闷了,当时内嵌了个UITextField,结果这个Controller各种变形,简直就是个变形金刚,并且各种调试就是调不出来,一个老外也有相同情况,然后第二天突然之间就好了,现在都不知道为什么.反正用这个的时候强烈不建议内嵌调用键盘的控件.

UIResponder,这个不说啥了,UIKit的核心,这里的控件我大部分都自定义过,并且一定会全部弄成自定义的,有时候重写一个控件会对其内部的实现体验更深的,当然了,重写的最主要目的就是给公司建立个library,以后直接面向对象复用,增加开发速度,减少开发难度.

UIScreen,我目前就用取得frame,bounds和scale

UITouch,目前用得比较多的还是和touchesBegin,touchesMoved,touchesEnded比较多,只要是CGPoint location = [touchlocationInView:self];CGRectContainsPoint(rect, location).你懂的

之前提到过的一些类以后都会详细分析的,主要是根据我所遇到过和所重写过的.

原创粉丝点击