2011-10-26 4 views
1

私は、特定のオプションが選択されている場合、「ファイル名の末尾を追加する」と言うと、5つのオプションが読み込まれたポップアップボタンを持っています。 textFieldと保存とキャンセルボタンが表示されたポップアップウィンドウ。私はこれをする方法を知らない。 私は良いNSAlertの例を得ることができましたが、私が知っているtextFieldは使用しません。 ダイアログクラスまたは他のモーダルを使用する必要がありますか、または2番目のペンを作成する必要がありますか?いずれの場合でも、私はそれを行う方法を本当に知らないので、良い例やチュートリアルは素晴らしいでしょう。ポップアップスタイルのダイアログ

おかげ

答えて

5

は、私はちょうど周りに検索し、誰かが、NSTextFieldでNSAlertを表示するボタンや、ユーザがちょうど入力したテキストを取得することが分かっ方法があります。彼らはキャンセルするかどうかをユーザーが、入力したものNSTextFieldのためのカスタマイズ可能なプロンプト、有益なテキストと、デフォルト値で、NSAlertを表示していました

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"); 
} 

そのコードに加えて、ログインします。それは基本的にあなただけで行くことができるhere, on the Macrumors forums, slightly old..

ですなど

うまく動作します! :)

+0

私はこのコードを試して、古いものでもかなりプロフェッショナルに見えます。私が得ていない2つのことは、それを開いたウィンドウに相対的な場所の設定です(私は "シート"に移動する必要があると言った記事を読んでいますか?)とボックスのサイズ設定(はるかに重要ではありません) – Miek

関連する問題