我只是四處搜尋,並沒有發現顯示用的NSTextField,按鈕的NSAlert並得到用戶剛剛輸入的文本的方法的人。這是here, on the Macrumors forums, slightly old..
從本質上講,你可以只是去:
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,再加上記錄用戶輸入的內容,他們是否取消等
希望工程! :)
我試過這段代碼,它看起來很專業,即使它是舊的。兩件事我沒有得到,雖然是相對於打開它的窗口的位置設置(我讀了一篇文章,說需要移動到一個「表」)和框的大小設置(重要性不那麼重要) – Miek