J'ai un NSTableView placé au-dessus de NSView. Je veux désélectionner NSTableView lorsque le pointeur de la souris est cliqué sur NSView. Comment y parvenir?Désélection de NSTableView lorsque vous cliquez dessus quelque part en dehors de la table
Répondre
je sais que c'est vieux, mais une option est de sous-classe NSTableView et passer outre son mouseDown:
- (void)mouseDown:(NSEvent *)event {
[super mouseDown:event];
NSPoint point = [self convertPoint:[event locationInWindow] fromView:nil];
NSInteger row = [self rowAtPoint:point];
if (row == -1) { // We didn't click any row
[self deselectAll:nil];
}
}
Swift 3 Version:
override open func mouseDown(with event: NSEvent) {
super.mouseDown(with: event)
let point = convert(event.locationInWindow, from: nil)
let rowIndex = row(at: point)
if rowIndex < 0 { // We didn't click any row
deselectAll(nil)
}
}
Je crois qu'il est déconseillé d'appeler la superclasse pour gérer l'événement mouseDown: puisque vous semblez gérer l'événement vous-même complètement. – Fnord23
@ Fnord23 Non, super doit toujours s'occuper de la sélection des lignes sur 'mouseDown', celui-ci ne s'occupe que de la désélection. – hnh
- 1. Android: déplacer le point sur la carte Google lorsque vous cliquez quelque part sur la carte
- 2. Désactiver TextArea ala Facebook lorsque vous cliquez dessus en dehors TextArea
- 3. Essayer d'obtenir la valeur de la boîte de radio lorsque vous cliquez dessus
- 4. jQuery Dialog, fermeture lorsque cliquez en dehors
- 5. Sélectionnez tout dans une pré-boîte lorsque vous cliquez dessus?
- 6. Google Maps - lorsque vous cliquez dessus Marker ne montre pas
- 7. popup retourne à l'état caché lorsque vous cliquez en dehors de la zone popup
- 8. Lorsque vous cliquez dessus NSImageView, l'application ne peut pas bouger
- 9. lien Créer un div d'ancrage arround lorsque vous cliquez dessus
- 10. Interface de l'onglet glissant Javascript/Jquery: réduire l'onglet lorsque vous cliquez en dehors de l'onglet
- 11. Comment activer une fonction + popup lorsque vous cliquez en dehors d'une carte dans Openlayers?
- 12. Comment faire une pause de fichier batch Windows lorsque vous double-cliquez dessus?
- 13. Variable perdue quelque part?
- 14. Comment mettre en surbrillance un TextView ou LinearLayout lorsque vous cliquez dessus?
- 15. comment ajouter une ligne quelque part au milieu d'une table
- 16. Bonne façon de faire animer un bouton flash lorsque vous cliquez dessus
- 17. sélectionnez le texte dans un champ de texte lorsque vous cliquez dessus?
- 18. Le focus de la zone de texte saute au-dessus de la liste déroulante lorsque vous cliquez sur
- 19. Paramètre devenant nul quelque part
- 20. cliquez en dehors du sélecteur en direct
- 21. UIButton @selector ne pas appeler la méthode lorsque vous cliquez dessus
- 22. Enregistrer la valeur de la case à cocher dans une base de données lorsque vous cliquez dessus?
- 23. Comment faire pour faire apparaître un panneau transparent qui est fermé lorsque vous cliquez dessus en Flex 4
- 24. Désactiver la commutation automatique lorsque vous cliquez sur UISwitch?
- 25. Comment supprimer l'ancien contenu des onglets jquery-ui lorsque vous cliquez dessus?
- 26. Je veux que mes onglets pour charger dynamiquement (uniquement lorsque vous cliquez dessus)
- 27. jquery commencez à faire glisser l'objet lorsque vous cliquez dessus sur l'autre
- 28. jQuery: .load image, puis fadeIn() échoue lorsque vous cliquez deux fois dessus!
- 29. CSS Menu déroulant - Séjours état lorsque vous cliquez dessus VOL STATIONNAIRE
- 30. attribution classe à un linkbutton css lorsque vous cliquez dessus dans asp.net
Que voulez-vous dire « au-dessus de »? Normalement, vous ne devriez pas placer une vue au-dessus de l'un de ses frères et sœurs dans la hiérarchie des vues; vous devriez seulement mettre des vues * dans * d'autres vues. En d'autres termes, deux points de vue frères et sœurs ne doivent pas se chevaucher; vous devriez faire une sous-vue de l'autre. –
C'est correct. L'un est une sous-vue de l'autre. Mais comment puis-je réaliser la fonctionnalité de la suppression de la table? – Subrat
Que voulez-vous dire par "désélectionner la vue de la table"? Révoquer son statut de premier répondeur ou désélectionner les lignes sélectionnées dans celui-ci? –