电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《iOS高级应用开发技术》实验报告六详细答案

7页
  • 卖家[上传人]:re****.1
  • 文档编号:431496956
  • 上传时间:2023-01-11
  • 文档格式:DOCX
  • 文档大小:61.55KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、实验编号:6四川师大【OS应用开发技术实验报告2017年11月5_日计算机科学学院2015级实验名称:纯代码版Hello World实验六纯代码版Hello World一、目的要求:通过实现一款纯代码版Hello World程序,深入理解iOS程序的运行机制;二、实验内容:(1) 删除 storyboard 和控制器代码;(2) 新建控制器的子类,并完成相关代码;a) 代码中生成 label ( outlet)和 button;b) 将 label 和 button 加入根 view 中;c) button 添加像 self(target)发射 action ( selector)的操作;d) 实现 clicked 响应代码(selector)(3) 在 app delegate 中完成 window 和 controller 的创建;(4) 自己制作一款Icon并添加Icon到程序中;(5) 添加图片到程序中,并在程序中显示图片(可以Bundle定位);(6) 将自定制的视图添加到界面并显示;主要仪器设备及药品: iMac( Mac OS、 XCode)三、实验主要流程、基本操作或核

      2、心代码、算法片段(该部分如不够填写,请另加附页)代码:/ MyViewController.swift/ homework6/ Created by wu on 2017/11/5./Copyright-2017 年 2015110445.All rights reserved./MyViewController.swiftimport Foundationimport UIKitclass MyViewController:UIViewController var label: UILabel!override func viewDidLoad() let myView = MyView(frame: CGRect(x: 0, y: 20, width: self.view.frame.width, height: self.view.frame.height - 20)myView.drawCurve (x) - CGFloat inreturn x * xself.view.addSubview(myView)label = UILabel(frame: CGRect(x: 15

      3、0, y: 100, width: 200, height: 40)/设置 label 显示文字label.text = WuMingMing/将 label 加入到视图控制器中self.view.addSubview(label)/创建 UIButton 对象let btn = UIButton(frame: CGRect(x: 150, y: 250, width: 100, height: 40)/设置正常状态下按钮的标题btn.setTitle(click me, for: .normal) /设置按钮边框宽度btn.layer.borderWidth = 1 /设置正常状态下标题的颜色 btn.setTitleColor(UIColor.black, for: .normal) /设置高亮状态下(被点击且未释放鼠标)标题的颜色 btn.setTitleColor(UIColor.brown, for: .highlighted) /给按钮添加 target-actionbtn.addTarget(self, action: #selector(clicked), fo r:

      4、.touchUpInside)self.view.addSubview(btn)/创建 UIImageView 对象let imageView = UIImageView(frame: CGRect(x: 10, y: 400, width: self.view.frame.width - 20, height: (self.vie w.frame.width - 20) * 0.618)/获取图片资源路径let path = Bundle.main.path(forResource: 7, ofF/7 Type: jpg)/以该路径创建图片let image = UIImage(contentsOfFile: path!)/将图片加入到 imageView 中 imageView.image = image /将 imageView 加入到控制器中 self.view.addSubview(imageView)/ 按钮点击事件,改变 label 显示的文字WuMingMing = lucky gril= WuMingMingobjc func clicked() if label.t

      5、ext =label.text else label.textoverride func didReceiveMemoryWarning() super.didReceiveMemoryWarning() / Dispose of any resources that can be recre ated.MyView.swift :import UIKitclass MyView:UIViewprivate var function:(CGFloat) - CGFloat)? override func draw(_ rect:CGRect)super.draw(rect)let rectPath = UIBezierPath(rect:rect) /设置白色填充UIColor.white.setFill() rectPath.fill() /绘制 x,y 的坐标 let path = UIBezierPath(rect: rect) UIColor.black.setStroke() path.move(to:CGPoint(x:0,y:rect.height/2) path.add

      6、Line(to:CGPoint(x:rect.width,y:rect.height/2) path.stroke() path.move(to: CGPoint(x: rect.width / 2, y: 0) path.addLine(to: CGPoint(x: rect.width / 2, y: rect.height)path.stroke()/判断函数是否为空,方便后面会再次调用 draw 函数 if function != nil let path = curve(rect: rect, color: UIC olor.red, function: function!)path.stroke()/绘制图形的函数func drawCurve(function: escaping (CGFloat) - CGFloat) self.function = functionself.draw(self.frame)private func curve(rect: CGRect, color: UIColor, functi on: (CGFloat) - CGFloat) -

      7、UIBezierPath let path = UIBezierPath()/该绘制区域的宽度的一半let center = rect.width / 2/y 轴的高度的一半let height = rect.height / 2/需要计算多少个X值对应的y值(X轴正半轴)let rate: CGFloat = 100 color.setStroke()/从原点开始,先计算x轴正半轴的所有y值 path.move(to: CGPoint(X: center, y: height - fu nction(0) / rate)/stride 为步进函数,设置起始值、结尾值和步进值for item in stride(from: center / rate, throug h: center, by: center / rate) path.addLine(to:CGPoint(X: center + item, y: height - function(item) / rate)path.move(to: CGPoint(X: center, y: height- function(0)

      8、/rate)for item in stride(from: center / rate,through: center,by: center / rate) path.addLine(to:CGPoint(X: centeritem, y: height- function(-item) / rate)return pathAppDelegate.swift:func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: UIApplicationLaunchOptionsKey: Any?) - Bool / Override point for customization after application launch. window = UIWindow(frame: UIScreen.main.bounds) /设置 window 的根试图控制器为 MyViewController window?.rootViewController = MyViewController() /显示 windowwindow?.makeKeyAndVisible()return trueApplcan运行结果ApplconiPhone NotificationiOS 7-1020ptiPhoneSpotlight - iOS 5,6Settings - IOS 5-1029ptIPhone SpotlightiOS 7-1040pt四、实验结果的分析与评价(该部分如不够填写,请另加附页)答:(1)通过本次试验报告,跟着老师的教导步骤,我初步掌握了 ios程序的运行机制, 也对 swift 语言有了进一步的掌握;(2)同时,这次代码的编写,练习图片添加,点击动作,发出响应,改变文本内容注:实验成绩等级分为(90100 分)优,(8089分)良, (70-79分)中, ( 6069分) 及格,(59 分)不及格。

      《《iOS高级应用开发技术》实验报告六详细答案》由会员re****.1分享,可在线阅读,更多相关《《iOS高级应用开发技术》实验报告六详细答案》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.