在我的应用程序中,我想创建一个带有一个文本字段和一个按钮的对话框, 通过它我可以提示用户并取回用户输入的值。
我如何在 Cocoa、Objective-C 中执行此操作?
我没有找到任何预定义的方法。
最佳答案
您可以调用 NSAlert 并将 NSTextField 作为 accessoryView 像这样放置"
- (NSString *)input: (NSString *)prompt defaultValue: (NSString *)defaultValue {
NSAlert *alert = [NSAlert alertWithMessageText: prompt
defaultButton:@"OK"
alternateButton:@"Cancel"
otherButton:nil
informativeTextWithFormat:@""];
NSTextField *input = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 200, 24)];
[input setStringValue:defaultValue];
[input autorelease];
[alert setAccessoryView:input];
NSInteger button = [alert runModal];
if (button == NSAlertDefaultReturn) {
[input validateEditing];
return [input stringValue];
} else if (button == NSAlertAlternateReturn) {
return nil;
} else {
NSAssert1(NO, @"Invalid input dialog button %d", button);
return nil;
}
}
关于objective-c - 如何从 Cocoa Dialog 中创建和获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7387341/