Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Schedule1TableViewCell.swift
- // The School App - Try 2
- //
- // Created by Dylan McDonald on 9/7/19.
- // Copyright © 2019 Dylan McDonald. All rights reserved.
- //
- import UIKit
- var sch1tests:[String] = []
- var sch1classes:[String] = []
- var sch1duedates:[String] = []
- class STableViewCell: UITableViewCell, UITextFieldDelegate {
- @IBOutlet weak var sch1classField: UITextField!
- @IBOutlet weak var sch1testField: UITextField!
- @IBOutlet weak var sch1dateTextField: UITextField!
- @IBOutlet weak var doneButton: UIButton!
- var indexPath: IndexPath?
- @IBAction func sch1doneDatePickerPressed(_ sender: UIBarButtonItem) {
- sch1tests[indexPath!.row] = sch1testField.text!
- sch1classes[indexPath!.row] = sch1classField.text!
- sch1duedates[indexPath!.row] = sch1dateTextField.text!
- UserDefaults.standard.set(sch1tests, forKey: "syncicloud sch1testsData")
- UserDefaults.standard.set(sch1classes, forKey: "syncicloud sch1classesNameData")
- UserDefaults.standard.set(sch1duedates, forKey: "syncicloud sch1dueDatesData")
- sch1classField.resignFirstResponder()
- sch1testField.resignFirstResponder()
- sch1dateTextField.resignFirstResponder()
- }
- @IBAction func doneButton(_ sender: Any) {
- if UserDefaults.standard.object(forKey: "syncicloud hapticsOnOff") as! String == "On" {
- UIImpactFeedbackGenerator(style: .light).impactOccurred()
- }
- sch1testField.text = ""
- sch1tests.insert(sch1testField.text!, at: sch1testField.tag)
- sch1tests.remove(at: sch1testField.tag + 1)
- UserDefaults.standard.set(sch1tests, forKey: "syncicloud sch1testsData")
- sch1dateTextField.text = ""
- sch1duedates.insert(sch1dateTextField.text!, at: sch1dateTextField.tag)
- sch1duedates.remove(at: sch1testField.tag + 1)
- UserDefaults.standard.set(sch1duedates, forKey: "syncicloud sch1dueDatesData")
- UserDefaults.standard.synchronize()
- }
- func textFieldShouldReturn(_ textField: UITextField) -> Bool {
- sch1tests[indexPath!.row] = sch1testField.text!
- sch1classes[indexPath!.row] = sch1classField.text!
- sch1duedates[indexPath!.row] = sch1dateTextField.text!
- UserDefaults.standard.set(sch1tests, forKey: "syncicloud sch1testsData")
- UserDefaults.standard.set(sch1classes, forKey: "syncicloud sch1classesNameData")
- UserDefaults.standard.set(sch1duedates, forKey: "syncicloud sch1dueDatesData")
- sch1classField.resignFirstResponder()
- sch1testField.resignFirstResponder()
- sch1dateTextField.resignFirstResponder()
- return true
- }
- func textFieldDidBeginEditing(_ textField: UITextField) {
- }
- func viewDidLoad() {
- self.sch1classField.delegate = self
- self.sch1testField.delegate = self
- self.sch1dateTextField.delegate = self
- sch1dateTextField.inputView = datePicker
- }
- @objc func updatethemecolor(_ notification: Notification) {
- doneButton.backgroundColor = MyVariables.setColor
- }
- override func awakeFromNib() {
- super.awakeFromNib()
- NotificationCenter.default.addObserver(self, selector: #selector(updatethemecolor(_:)), name: NSNotification.Name(rawValue: "updatethemecolor"), object: nil)
- sch1dateTextField.accessibilityLabel = "Test is On"
- sch1classField.accessibilityLabel = "Class"
- sch1testField.accessibilityLabel = "Test Details:"
- self.sch1classField.delegate = self
- self.sch1testField.delegate = self
- self.sch1dateTextField.delegate = self
- sch1dateTextField.inputView = datePicker
- doneButton.backgroundColor = MyVariables.setColor
- // date picker setup
- let _:UIDatePicker = UIDatePicker()
- // datepicker toolbar setup
- let toolBar = UIToolbar()
- toolBar.barStyle = UIBarStyle.default
- toolBar.isTranslucent = true
- let space = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.flexibleSpace, target: nil, action: nil)
- let doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItem.Style.done, target: self, action: #selector(sch1doneDatePickerPressed(_:)))
- // if you remove the space element, the "done" button will be left aligned
- // you can add more items if you want
- toolBar.setItems([space, doneButton], animated: false)
- toolBar.isUserInteractionEnabled = true
- toolBar.sizeToFit()
- sch1dateTextField.inputAccessoryView = toolBar
- }
- override func setSelected(_ selected: Bool, animated: Bool) {
- super.setSelected(selected, animated: animated)
- // Configure the view for the selected state
- }
- lazy var datePicker: UIDatePicker = {
- let picker = UIDatePicker()
- picker.datePickerMode = .date
- picker.addTarget(self, action: #selector(sch1datePickerChanged(_:)), for: .valueChanged)
- return picker
- }()
- lazy var dateFormatter: DateFormatter = {
- let formatter = DateFormatter()
- formatter.dateStyle = .full
- formatter.timeStyle = .none
- return formatter
- }()
- @objc func sch1datePickerChanged(_ sender: UIDatePicker) {
- sch1dateTextField.text = dateFormatter.string(from: sender.date)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement