J'essaie d'utiliser un NSFontPanel pour permettre à l'utilisateur de modifier un paramètre de police à l'échelle de l'application. Il est censé travailler quelque chose comme ceci: l'utilisateur clique sur un bouton, un panneau de police apparaît, ils choisissent une police et une taille, et leur sélection est persistée.
Le code suivant indique le panneau: P>
- (void)changeFont:(id)sender {
// blah
}
5 Réponses :
L'objet que vous avez défini -changefont: code> doit être le premier répondeur ou au-dessus de la chaîne du répondeur. Vous n'avez pas précisé où vous avez défini la méthode, mais je suppose que c'est sur un objet contrôleur qui n'est pas dans la chaîne du répondeur. P>
La vue du contrôleur d'affichage est en train d'être chargée dans une autre fenêtre; Ajout de Changefont: To The Parent ViewController a travaillé. Merci de votre aide.
Comme Kperryua mentionne, Vous trouverez peut-être le Manipulation de la police A > Guide marginalement plus utile que le Panneau de police A > Guide. P> NSFontManager Code> Le délégué de Nsfontmanager existe principalement pour filtrer les polices qu'il fournit au panneau de polices via -FontManager: WillinCLUDefont: Code>. P>.
-changefont: code> est envoyé la chaîne du répondeur. Le bouton qui lance le menu Police ou sa vue ci-joint pourrait être un bon endroit pour mettre un répondeur pour -changefont: code>. P>
Lien correct: Traitement des polices d'Apple
Le problème de base est la suivante:
[fontPanel makeKeyAndOrderFront:sender];
Je l'ai changé pour commanderfrontfontpanel:; Mais le problème était en fait avec la chaîne de répondeur. Merci.
Inclure ceci:
[fontManager setTarget:self];
Voici ma mise en œuvre de travail. Point clé est que vous devriez rendre votre objet comme premier répondant où vous avez implémenté - (VOID) Changefont: (id) Sender CODE> -(void) changeFont:(id)sender
{
//Here sender would be NSFontManager
NSFont *oldFont = [self font];
NSFont *newFont = [sender convertFont:oldFont];
[self setFont:newFont];
}
Ce problème m'a aidé: Stackoverflow.com/Questions/6147305/...