Всплывающий диалог стиля

У меня есть всплывающая кнопка, которая загружается с 5 опциями программно, если выбран конкретный вариант, скажем, "добавить конец имени файла", то моя функция обновления должна вызвать небольшое всплывающее окно с textField и Сохранить и отменить кнопку, чтобы появиться. Я не знаю, как это сделать. Мне удалось получить хороший пример NSAlert, но он не использует текстовое поле, о котором я знаю. Есть ли класс диалога или какой-то другой модальный вид, который я должен использовать, или я должен пытаться создать второй кончик? в любом случае я не знаю, как это сделать, так что хороший пример или учебник были бы отличными.

Спасибо

1 ответ

Решение

Я только что искал, и есть метод, который кто-то нашел, чтобы отобразить NSAlert с NSTextField, кнопками и получить текст, который пользователь только что набрал. Это здесь, на форумах Macrumors, немного старое..

По сути, вы могли бы просто пойти с:

NSString *prompt = @"Please enter text to append to file name:";
NSString *infoText = @"What happens here is...";
NSString *defaultValue = @"Default Value";

NSAlert *alert = [NSAlert alertWithMessageText: prompt
                                 defaultButton:@"Save"
                               alternateButton:@"Cancel"
                                   otherButton:nil
                     informativeTextWithFormat:infoText];

NSTextField *input = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 200, 24)];
[input setStringValue:defaultValue];
[alert setAccessoryView:input];
NSInteger button = [alert runModal];
if (button == NSAlertDefaultReturn) {
    [input validateEditing];
    NSLog(@"User entered: %@", [input stringValue]);
} else if (button == NSAlertAlternateReturn) {
    NSLog(@"User cancelled");
} else {
    NSLog(@"bla");
}

Этот код будет отображать NSAlert с настраиваемым приглашением, информативным текстом и значением по умолчанию для NSTextField, а также записывать, что пользователь ввел, отменили ли они и т. Д.

Надеюсь, что это работает!:)

Другие вопросы по тегам