




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
继承UIView建立自己的图形类北京电子科技职业学院面向对象编程1面向对象编程Swift提供了全面的面向对象支持。与普通面向对象的编程语言不同在于,不仅可以定义类,还支持枚举和结构体、扩展和协议的面向对象支持。其中,枚举和结构体是值类型,而类定义的变量则是引用类型。面向对象编程是以对象为中心的编程方式,其三大典型特征:封装:指的是把对象的状态数据、实现细节隐藏起来,然后暴露合适的方法允许外部程序改变对象的状态。Swift提供了private、internal和public等访问权限控制。继承:指的是子类继承父类,即可获得父类定义的属性和方法,通过继承可以复用已有类的方法和属性。Swift提供了很好的单继承:每个子类最多只能有一个直接父类。另外,协议可以有效弥补单继承的不足。多态:指的是利用面向对象的灵活性,使得同名函数可以实现不同的功能。2建立图形的大体方法建立图形的大体方法用户需要在iOS上画图,这个就需要继承UIView,然后重载里面的draw(_rect:CGRect)方法,就可以自定义画图。draw(_rect:CGRect)函数是由UIView内部自动调用或者通过setNeedsDisplay()函数来调用。因此,我们需要重载draw(_rect:CGRect)函数,把需要绘图的程序编写在里面。3程序案例程序案例案例一:程序效果:在UIView上触摸会在触摸所在的位置生成一个圆,每个圆的大小是随机的,圆心的位置就是触摸所在的坐标点,效果如图所示主要重载了touchesBegan事件,同时自定义了一个CircleView类(基类为UIView),重载了其中的draw(_rect:CGRect),以及重载了init(frame:CGRect)初始化方法。代码详见文档程序案例案例二:程序效果:在UIView上触摸会在触摸所在的位置生成一个圆,每个圆的大小是随机的,圆心的位置就是触摸所在的坐标点,如果继续移动,这个圆会跟随着你移动,直到你停止触摸,就会固定在那个位置,同时改变颜色。主要重载了touchesBegan、touchesMoved和touchesEnded事件,同时在ViewController中定义了一个CircleView类(基类为UIView)的变量myCircle,使用了setNeedsDisplay()进行图形刷新。代码详见文档程序案例那么,我们能否在拖动的时候也改变颜色呢?这个就只需要重载touchesMoved函数,修改其中的代码即可。代码详见文档思考:如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保洁公司 员工 合同标准文本
- 中介地皮厂房合同标准文本
- 2025年跨境电商物流空运合同
- 五座汽车租赁合同样本
- 公司向政府借款合同样本
- 体育馆维修合同标准文本
- 农村改建建筑合同样本
- 修路合伙合同样本
- 乙方广告销售合同样本
- bot水务合同样本
- 幼儿园大班音乐《建筑之歌》
- 阵发性睡眠性血红蛋白尿的护理
- 小学五年级语文偏旁部首训练汇总
- 《资源加工学》课后习题答案x-
- 糖尿病患者延续性护理的研究进展
- 中国移动客户满意度
- 给排水设备运行维护专项方案
- 石油工业电焊焊接作业安全规程
- 国家开放大学《汉语通论》形考任务1-4+终结性考核参考答案
- 环保知识竞赛考试参考题库300题(含各题型)
- 统编教材语文要素的落实例谈课件(新)
评论
0/150
提交评论