Ho creato un'applicazione per Mac OSX basata su documenti e quando eseguo l'editing in Interface Builder, il titolo è corretto (ho compilato quella parte dell'ispettore) ma una volta che il programma corre, il titolo dell'applicazione è 'Senza titolo'. Come posso cambiarlo? Nella mia finestra IB Doc, ho istanze di Proprietario file, First Responder, NSApplication e NSWindow. Non c'è un controller di visualizzazione, è questo il problema? Sono nuovo di Cocoa ..Titolo applicazione Cocoa Mac dice: "senza titolo"
risposta
Una soluzione è quella di ignorare -displayName
nel NSDocument
sottoclasse:
- (NSString *)displayName {
if (![self fileURL])
return @"Some custom untitled string";
return [super displayName];
}
È possibile anche controllare NSWindowController
s' -windowTitleForDocumentDisplayName:
se si sta utilizzando i controller finestra personalizzata.
hai creato un'applicazione Cocoa basata su documenti. Per i nuovi documenti, Cocoa imposta il nome proposto del documento su "Untitled".
Giusto, ma sai come cambiarlo? – Zakman411
Intendi il titolo del menu dell'applicazione? Questo è cambiato per abbinare il nome dell'applicazione in fase di esecuzione. Il modo più semplice per cambiarlo sarebbe modificare l'impostazione di creazione del nome prodotto sulla destinazione in Xcode.
Questa impostazione ha effettivamente il nome corretto ma non verrà ancora visualizzata. Cosa mi manca? – Zakman411
- (NSString *)displayName
{
NSMutableString *displayName = [NSMutableString stringWithString:[super displayName]];
if ([self fileURL] == nil) {
NSString *firstCharacter = [[displayName substringToIndex:1] lowercaseString];
[displayName deleteCharactersInRange:NSMakeRange(0, 1)];
[displayName insertString:firstCharacter atIndex:0];
}
return [NSString stringWithString:displayName];
}
Potresti aggiungere qualche descrizione a quel codice? Che cosa fa? Come lo fa? Grazie – Cullub
Questo perché è stata selezionata creare un documento-based quando hai creato questo progetto:
è possibile rimuoverlo dal info.plist
cliccando sul - tasto accanto documento tipi:
Digitare il proprio titolo in Storyboard e controllare la finestra su "è Inital Controller". Dopo aver eseguito nuovamente il progetto, sarà OK.
Probabilmente cambierà il nome del documento una volta salvato (o aperto). – zneak
Lo fa. Ma c'è un modo per impostarlo su un valore predefinito? Preferirei che non dicesse 'Senza titolo' – Zakman411
Zakman411: nominare un nuovo documento non salvato "senza titolo" è il modo corretto secondo la HIG. http://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGWindows/XHIGWindows.html#//apple_ref/doc/uid/20000961-CHDHBCGE Perché vuoi violare tale convenzione? –