弹出样式对话框

Mie*_*iek 1 cocoa objective-c

我有一个弹出按钮,在编程上加载了5个选项,如果选择了一个特定的选项,让我们说"追加文件名末尾",那么我的更新功能需要一个带有textField的小弹出窗口和一个保存并取消按钮显示.我不知道该怎么做.我能够得到一个很好的NSAlert示例,但它不需要我知道的textField.是否有一个对话类或我应该使用的其他模态,或者我应该尝试创建第二个笔尖?在任何一种情况下我都不知道该怎么做,所以一个好的例子或教程会很棒.

谢谢

Seb*_*hec 5

我只是四处搜索,并且有人找到一种方法来显示带有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的默认值,以及用户输入的日志,是否取消等.

希望有效!:)