NSPanelがあり、そのフィールドの1つにファイルパスをロードする必要があります。
私は現在使用しています:
NSOpenPanel *browsePanel = [[NSOpenPanel alloc] init];
[browsePanel setCanChooseFiles:YES];
[browsePanel setCanChooseDirectories:NO];
[browsePanel setCanCreateDirectories:NO];
[browsePanel beginSheetForDirectory:nil
file:nil
types:nil
modalForWindow:[self window]
modalDelegate:self
didEndSelector:@selector(browsePanelPanelDidEnd:returnCode:contextInfo:)
contextInfo:[NSNumber numberWithInteger:[sender tag]]
];
しかし、NSOpenPanelシートが表示されず、コンソールにエラーメッセージが表示されません。既存のシートから開いているので、一度に1枚しかロードできないからだと思います。
したがって、現在[browsePanel makeKeyAndOrderFront:[selfwindow]]を使用しています。しかし、私は2つの問題を抱えています:
パネルは常にモーダルシートの裏側にあり、上に表示することはできません。また、元のシートに残っているフォーカスを移動できません。
データをモーダルにロードしない場合、データを処理するためにエンドセレクターを割り当てるにはどうすればよいですか?
ありがとう