我只是四处搜寻,并没有发现显示用的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