OSX becomeFirstResponder : probleme de focus

Lio70

Membre expert
Club iGen
16 Janvier 2004
2 396
1 282
Bonjour,

Je remarque un probleme de focus sur un NSTextField qui doit devenir "first responder" lors de l'ajout d'un record dans ma table de donnees.

C'est une app CoreData avec une presentation maitre/details. Une TableView presente la liste des records de l'entity (une seule colonne). Tous les attributs de l'entity sont presentes a cote de la TableView avec des Textfields, checkbox, popupmenu etc... Quand on ajoute un record, un certain TextField doit recevoir le focus pour que l'utilisateur puisse taper directement du texte dans la case sans devoir d'abord la selectionner avec la souris. Une situation assez standard.

Or j'observe un cas de figure ou le textfield ne recoit pas le focus: quand aucun record n'est selectionne, n'est "actif", dans la TableView (bref, quand les textfields affichent "No Selection"). Dans ce cas mon TextField ne recoit pas le focus quand j'ajoute un record. C'est la ligne du record dans la TableView qui recoit le focus a la place.

Je ne suis pas specialiste de cela et j'ai donc pondu un truc assez rapidement. Je sous-classe ArrayController et j'ai ce code dans l'implementation:

Bloc de code:
-(id)newObject {
    id trucmuche = [super newObject];
    [self setAutomaticallyRearrangesObjects:YES];
    [textField becomeFirstResponder];
    return trucmuche;
}

Je me demande quelle manip je dois faire pour corriger cela. Passer d'abord le relai "firstResponder" d'un element a mon textField en utilisant "resignFirstResponder" et "makeFirstResponder" mais en se referant a quel element?
 
Dernière édition: