我有一个弹出按钮,在编程上加载了5个选项,如果选择了一个特定的选项,让我们说"追加文件名末尾",那么我的更新功能需要一个带有textField的小弹出窗口和一个保存并取消按钮显示.我不知道该怎么做.我能够得到一个很好的NSAlert示例,但它不需要我知道的textField.是否有一个对话类或我应该使用的其他模态,或者我应该尝试创建第二个笔尖?在任何一种情况下我都不知道该怎么做,所以一个好的例子或教程会很棒.
谢谢
我只是四处搜索,并且有人找到一种方法来显示带有NSTextField的NSAlert,按钮并获取用户刚输入的文本.它位于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");
}
Run Code Online (Sandbox Code Playgroud)
该代码将显示NSAlert,具有可自定义的提示,信息文本和NSTextField的默认值,以及用户输入的日志,是否取消等.
希望有效!:)