Всплывающий диалог стиля
У меня есть всплывающая кнопка, которая загружается с 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, а также записывать, что пользователь ввел, отменили ли они и т. Д.
Надеюсь, что это работает!:)