97 lines
3.3 KiB
Swift
97 lines
3.3 KiB
Swift
//
|
|
// WrittenInstructionsViewController.swift
|
|
// Guibe
|
|
//
|
|
// Created by Max Hunt on 02/06/2019.
|
|
// Copyright © 2019 8. All rights reserved.
|
|
//
|
|
|
|
import UIKit
|
|
import MapKit
|
|
|
|
class WrittenInstructionsViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
|
|
|
|
let appDelegate = UIApplication.shared.delegate as! AppDelegate
|
|
|
|
|
|
// var stepBySteps = appDelegate.currentStep
|
|
// var currentStep: Int = 0
|
|
|
|
|
|
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
|
if self.appDelegate.naviStarted == true{
|
|
let stepBySteps = appDelegate.textSteps
|
|
return stepBySteps?.count ?? 0}
|
|
else {
|
|
return 0
|
|
}
|
|
|
|
}
|
|
|
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
|
let cell = tableView.dequeueReusableCell(withIdentifier: "iCell", for: indexPath)
|
|
let currentStep = appDelegate.currentStep
|
|
let stepBySteps = appDelegate.textSteps
|
|
let focusInstruction = (stepBySteps?[indexPath.row].instructions)!
|
|
let focusDistance = Int((stepBySteps?[indexPath.row].distance)!)
|
|
cell.textLabel?.adjustsFontSizeToFitWidth = true
|
|
if focusInstruction == "" {
|
|
cell.textLabel?.text = "Start, walk for \(focusDistance) meters" }
|
|
else {
|
|
cell.textLabel?.text = "Then in \(focusDistance)m, \(focusInstruction)" }
|
|
if indexPath.row == currentStep {
|
|
cell.backgroundColor = UIColor(named: "selectorColour")
|
|
let txt = (cell.textLabel?.text)!
|
|
cell.accessibilityLabel = "\(txt), current step"
|
|
}
|
|
else {
|
|
cell.accessibilityLabel = cell.textLabel?.text
|
|
cell.backgroundColor = UIColor.secondarySystemBackground
|
|
|
|
}
|
|
return cell
|
|
}
|
|
|
|
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
|
// Maybe speak this?
|
|
self.dismiss(animated: true, completion: nil)
|
|
}
|
|
|
|
|
|
|
|
|
|
@IBAction func backBtnPressed(_ sender: Any) {
|
|
self.dismiss(animated: true, completion: nil)
|
|
}
|
|
|
|
@IBOutlet weak var instructionsTable: UITableView!
|
|
@IBOutlet weak var backBtn: UIButton!
|
|
@IBOutlet var vCtrl: UIView!
|
|
|
|
override func viewDidLoad() {
|
|
super.viewDidLoad()
|
|
vCtrl.backgroundColor = UIColor.secondarySystemBackground
|
|
backBtn.accessibilityLabel = "Back"
|
|
if appDelegate.naviStarted == false {
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2) {
|
|
let alert = UIAlertController(title: "Not Navigating", message: "Please start navigation to see step by step instructions.", preferredStyle: .alert)
|
|
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { action in
|
|
switch action.style{
|
|
case .default:
|
|
self.dismiss(animated: true, completion: nil)
|
|
|
|
case .cancel:
|
|
return
|
|
|
|
case .destructive:
|
|
return
|
|
}}))
|
|
self.present(alert, animated: true, completion: nil)
|
|
}
|
|
}
|
|
|
|
// Do any additional setup after loading the view.
|
|
}
|
|
}
|
|
|