macOS/iOS API解説

iOS , Mac アプリケーション開発のために使われる主要フレームワークの日本語情報です。2010年代に書かれた内容です。今後更新はありません。

目次

panel:shouldShowFilename:

セーブパネルにファイルが表示される時に呼び出されます
-(BOOL)panel:(id)sender:
     shouldShowFilename:(NSString *)filename:

解説

セーブパネルにファイルが表示される時に呼び出されます。
YESを返すと選択可能になり、NOを返すと選択不可になります。
ファイル単位で、選択可能/不可をセットできます。

返り値

( BOOL )

YES/NO

引数

( id )sender

オブジェクト

( NSString * )filename

ファイル名

フレームワーク

ApplicationKit

クラス

NSSavePanel

Instance Methods

使用可能

10.0

参照

例文

#import "Controller.h"

@implementation Controller
- (IBAction)pushButton:(id)sender
{
NSSavePanel *spanel = [NSSavePanel savePanel];
//デリゲート設定
[spanel setDelegate:self];
//ファイルタイプ設定
[spanel setRequiredFileType:@"rtfd"];
//セーブパネル開く
[spanel beginSheetForDirectory:NSHomeDirectory()
    file:nil
    modalForWindow:myWindow
    modalDelegate:self
    didEndSelector:@selector(didEndSaveSheet:returnCode:conextInfo:)
    contextInfo:NULL];
}

//セーブパネルのデリゲート
-(BOOL)panel:(id)sender shouldShowFilename:(NSString *)filename
{
        if ([filename compare:@"/Users/Shared"] == NSOrderedSame ){//共有フォルダは
            return NO;//選択不可
        }else{//他は
            return YES;//選択可能
        }
}

//パネル終了
-(void)didEndSaveSheet:(NSSavePanel *)savePanel returnCode:(int)returnCode conextInfo:(void *)contextInfo
{
if (returnCode == NSOKButton){
        //NSLog([[savePanel URL] absoluteString]);
}else{
NSLog(@"Cansel");
}
}
@end