Название приложения Cocoa Mac гласит: «без названия» - PullRequest
6 голосов
/ 18 января 2011

Я создал приложение Mac OSX на основе документов, и когда я редактирую в Интерфейсном Разработчике, заголовок правильный (я заполнил эту часть инспектора), но как только программа запускается, заголовок приложения «Без названия» , Как я могу это изменить? В моем окне IB Doc есть экземпляры Владелец файлов, Первый ответчик, NSApplication и NSWindow. Нет никакого контроллера представления, это - проблема? Я новичок в Какао ..

Ответы [ 5 ]

14 голосов
/ 18 января 2011

Одним из решений является переопределение -displayName в вашем NSDocument подклассе:

- (NSString *)displayName {
    if (![self fileURL])
        return @"Some custom untitled string";

    return [super displayName];
}

Вы также можете проверить NSWindowController s -windowTitleForDocumentDisplayName:, если используете пользовательские оконные контроллеры.

2 голосов
/ 18 января 2011

вы создали приложение Какао на основе документов. Для новых документов Какао устанавливает предлагаемое имя документа в «Без названия».

1 голос
/ 25 июля 2017

Это потому, что вы отметили Создать основанное на документе приложение при создании этого проекта:

new project options

Вы можете удалить его изinfo.plist, нажав кнопку - рядом с Типы документов :

info.plist

Введите свой собственныйЗаголовок в раскадровке и установите флажок для «Начальный контроллер».После того, как вы снова запустите свой проект, все будет в порядке.

1 голос
/ 18 января 2011

Вы имеете в виду заголовок меню приложения? Это изменяется, чтобы соответствовать имени приложения во время выполнения. Самый простой способ изменить это - изменить настройку сборки Product Name на вашей цели в Xcode.

0 голосов
/ 18 января 2016
- (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];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...