前言
在上文中我们介绍了这个任务管理应用的设计,在本文中将开始开发工作.开发会使用 swift 语言,所以如果对 iOS 开发不是很熟悉的,可是先看看 swift 语言的相关资料.
需要使用到的控件一览
- 框架: 在本例中,我们会使用到一下框架
- SAPCommon
- SAPFiori
- 应用到的组件
- FUITimelineCell: 应用UIKit 中的 tableViewController, 在 cell 中使用该组件,可以方便的显示 timeline
- FUIObjectHeader: 在任务详细信息中,显示任务的抬头信息
- FUISegmentedControlFormCell: 在任务详细信息界面,显示 segemnt 的选择组件
- FUISimplePropertyFormCell: 在任务详细信息界面中显示一些简单的属性组件
创建项目
在 xcode 中新建一个项目:
创建 model
新建一个 model 的 swift 文件,用来放置我们的测试数据,在真实的应用中,这些数据应该是从其他系统的 service 中读取,在本例中,我们直接使用固定的数据,代码如下:
import Foundation
import UIKit
struct TasksData {
enum TaskStatus {
case low
case medium
case high
}
struct Task {
let title: String
let desciption: String
let dueDate: String
let favorateImage: UIImage?
let priorityImage: UIImage?
let priorityValue: Int
let timeFrame: String
let timeFrameValue: Int
let status: UIImage?
}
static let tasks: [Task] = [Task(title: "任务1 - 收集资料", desciption: "收集关于SAP FIORI for iOS的开发资料", dueDate:"4月7日",favorateImage: #imageLiteral(resourceName: "favorate"), priorityImage: #imageLiteral(resourceName: "highPrio"),priorityValue: 2,timeFrame: ">1 H",timeFrameValue: 2, status: #imageLiteral(resourceName: "complete")),
Task(title: "任务2 - 整理资料", desciption: "整理关于SAP FIORI for iOS的开发资料", dueDate:"4月8日",favorateImage: #imageLiteral(resourceName: "favorate"), priorityImage: #imageLiteral(resourceName: "mediumPrio"),priorityValue: 1, timeFrame: "<1 H",timeFrameValue: 1, status: #imageLiteral(resourceName: "complete")),
Task(title: "任务3 - 研究开发框架", desciption: "SAP Cloud Platform SDK的框架研究", dueDate:"4月9日",favorateImage: #imageLiteral(resourceName: "nonFav"), priorityImage: #imageLiteral(resourceName: "highPrio"),priorityValue: 2, timeFrame: "<0.5 H",timeFrameValue: 0, status: #imageLiteral(resourceName: "open")),