2017-12-15 1 views
0

Hallo Im Versuch, eine App mit größeren Tasten für Menschen mit Behinderungen zu bauen und die Standard-Nav passt nicht zur App. Wie bekomme ich den Bearbeitungsmodus einer Tabelle von einer normalen Schaltfläche aus der Objektbibliothek?Platzieren einer Tabelle im Bearbeitungsmodus mit einer generischen Schaltfläche anstelle von navigationItem.leftBarButtonItem

Ich weiß, dass die Navigationsleiste Elemente es tun kann sehr leicht aber ich bin versucht, den Code zu bekommen eine allgemeine Taste abzuarbeiten, Kann jemand mich in die richtige Richtung weisen,

Hier ist der folgende Code Im mit Verwendung die Navitem Buttons,

` 

import UIKit 

class ViewController: UIViewController, UITableViewDataSource , UITableViewDelegate { 
    @IBOutlet weak var table: UITableView! 
    var data:[String] = [] 
    var file:String! 
    var text:String = "" 

    @IBOutlet weak var noteText: UITextView! 


    @IBAction func addNew(_ sender: UIButton) { 
    addnote() 
    } 
    // original code 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     load() 
    } 



    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return data.count 
    } 
    // Notes section code 
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell")! 
     cell.textLabel?.text = data[indexPath.row] 
     return cell 
    } 

    func addnote(){ 
     let name:String = "Row \(data.count + 1)" 
     data.insert(name, at: 0) 
     let indexpath:IndexPath = IndexPath(row: 0, section: 0) 
     table.insertRows(at: [indexpath], with: .automatic) 
     self.performSegue(withIdentifier: "noteDetail", sender: nil) 
     save() 
    } 

    // editing code button 
    override func setEditing(_ editing: Bool, animated: Bool){ 

    } 

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     self.performSegue(withIdentifier: "noteDetail", sender: nil) 
    } 


    func tableView(_ tableView: UITableView, commit editingStyle:UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { data.remove(at: indexPath.row) 
     table.deleteRows(at: [indexPath], with: .fade) 
     save() 

    } 



    func save(){ 
     UserDefaults.standard.set(data, forKey: "notes") 
     UserDefaults.standard.synchronize() 
    } 

    func load() { 
     if let loadedData = UserDefaults.standard.value(forKey: "notes") as? [String] { 
      data = loadedData 
      //table.reloadData() 
     } 
    } 

    // Notes section code 


    // Seques to move from each section on Home page 
    @IBAction func remButton(_ sender: Any) { 
     performSegue(withIdentifier: "remSeque", sender: self) 
    } 
    @IBAction func noteButton(_ sender: Any) { 
     performSegue(withIdentifier: "noteSeque", sender: self) 
    } 
    @IBAction func reminderButton(_ sender: Any) { 
     performSegue(withIdentifier: "reminderSeque", sender: self) 
    } 
    @IBAction func mapsButton(_ sender: Any) { 
     performSegue(withIdentifier: "mapSeque", sender: self) 
    } 










    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

`

+0

Könnten Sie genauer sein und einen Code hinzufügen, mit dem Sie gespielt haben? –

+0

@FlorianLeitgeb Bitte sehen Sie oben den Code Im Unordnung mit – Tommy

Antwort

3

Sie sollten die Tabellenansicht des isEditing Eigenschaft wechseln.

@IBAction func editButtonPressed() { 
    tableView.isEditing = !tableView.isEditing 
} 
+0

Hallo @ the4kman Vielen Dank für Ihre Antwort, Ich bin nicht sicher, wie dies zu aktualisieren, ich bin sehr neu zu swift, siehe oben meinen gesamten Code – Tommy

Verwandte Themen