Bonjour à tous,
J’essai d’élaborer une version du bloc note qui me permettrait de supprimer une note.
J’ai opté pour une tableView, et dans la cellule que je personnalise une textView.
J’ai un premier probleme, j’aimerai que la cellule s’adapte - si c’est possible - à la taille de la textView.
Mais mon principal soucis, est de pouvoir supprimer une note en appuyant dessus. J’ai essayer d’implémeter une - ou un- gestureRecognizer, et je bloque au niveau de la fonction qui est chargé de supprimer la note. Je pense qu’il faut que je recupere le numero de la cellule, et c’est que je ne sais pas comment faire.
ci-joint mon ViewController
import UIKit
class ViewController: UIViewController, UITableViewDataSource {
@IBOutlet weak var ui_tableView: UITableView!
@IBOutlet weak var ui_newNote: UITextField!
var listNote : [Note] = []
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if case let theCell == ui_tableView.cellForRow(at: <#T##IndexPath#>){
theCell.addGestureRecognizer(UILongPressGestureRecognizer(target : self, action : #selector(deleteNote)))
}
//note_cell.addGestureRecognizer(UILongPressGestureRecognizer(target : self, action : #selector(deleteNote)))
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return listNote.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell : NoteTableViewCell = tableView.dequeueReusableCell(withIdentifier: "note_cell") as! NoteTableViewCell
let theNote = listNote[indexPath.row]
cell.dispaly(note: theNote)
return cell
}
@IBAction func addNewNote() {
if ui_newNote.text != "" {
listNote.append(Note(iidentifier: 1, snote: ui_newNote.text!))
ui_tableView.reloadData()
}
}
func deleteNote(sender: UILongPressGestureRecognizer) {
// recupere le numéro de la cellule
print("la cellule est selectionée")
}
}
Merci à vous