est-il possible de rendre mon NSTableView accepte un deleteevnt (Backspace OG Même cmd + Backspace)? J'ai un nsmenu où j'ai mon élément de menu Supprimer connecté à mon premier objet répondeur dans la nib. P>
Tous les pointeurs? P>
4 Réponses :
Une approche facile à mettre en œuvre: p>
Lorsque vous construisez votre projet, étant donné que vous implémentez la méthode Deleterecord, une KeyPress Backspace supprimera des enregistrements de votre TableView P>
Ouais j'ai compris cela, mais ça me donne des problèmes quand je suis plus d'une vue de table à la fois :)
Vous pouvez créer une sous-classe de NSTableView, remplacement de la clé puis assurez-vous que tout NSTableView que vous souhaitez que la fonctionnalité de suppression utilise votre Sous-classe dans le constructeur d'interface au lieu de la nstableview habituelle. p> Vous pouvez implémenter la méthode code> comme: - (VOID) deleteitem code> par exemple comme celle-ci: p>
Si vous avez plusieurs vues que vous devez suivre séparément de la même documentationController, vous pouvez les identifier à l'aide des balises, c'est-à-dire entrez une balise pour l'affichage du constructeur d'interface, puis vérifiez la valeur de la valeur Self.tag dans le Clé: code> méthode.
Désolé, mais cette réponse ne doit pas être marquée correcte. Cette solution n'est absolument pas la meilleure pratique.
La bonne façon de mettre en œuvre cette fonctionnalité consiste à utiliser des liaisons de clé: p>
Selon le type d'application que vous écrivez, il existe des méthodes de validation des délégués. Par ce qui signifie que vous pouvez définir l'état activé des éléments de menu. Pour une application basée sur des documents, cette validation se produit via - (bool) validateuserinterfaceItem: (id) anitem code>. P>
Ceci est une solution moderne utilisant L'élément de menu code> Supprimer code> dans le menu dans le contrôleur d'affichage Implémentez la méthode Swift: Objective-C: et mettre dans la logique pour supprimer la ou les lignes de vue de la table. P> li>
ul>
aucune sous-classe n'est nécessaire. p> nsviewcontroller code> et premier répondant code>. p>
Modifier code> est connecté au sélecteur Supprimer: code> du premier répondeur. S'il n'y a pas d'élément de menu code> Supprimer code>, créez-en un et connectez-le à Supprimer: code> du premier répondeur (cube rouge). P>
ibaction p>
@ibaction Func Suppr Suppr (_ Sender: AnyObject) CODE> P>
- (Ibaction) Supprimer: (ID) Sender CODE> P>
D'où vient l'action de suppression? Je peux voir beaucoup d'actions comme celle-ci à IB, mais la norme NSresponder ne les définit pas tous.
@ Ibaction ou @ objc donne le même résultat. Manquant ceci fait supprimer l'élément de menu pour être greye
@ Kocmohabta Bonne question. Pour iOS, ils sont définis dans un protocole UIPROMPERStandARDITIONS; Le guide de traitement des événements de cacao les appelle les méthodes d'action standard de sélection et de modification et pointe vers le repère où elles ne sont pas documentées. Curieuse.