Monday, March 10, 2014

NSWindow Show as Sheet

       我想做一个Word Collection类的app,因此需要实现显示“加入item”的功能。开始使用NSPopover,但是NSTextview却无法响应输入。google半天,后来发现可能是apple不推荐在NSPopover上使用NSTextview。因此,切换成使用NSPanel了

具体使用方法
(1)
@interface SheetDemoWC : NSWindowController
{
    IBOutlet NSPanel *theSheet;
   
}
- (IBAction) showTheSheet:(id)sender ;
@end


- (IBAction) showTheSheet:(id)sender {
   
    [NSApp beginSheet:theSheet
       modalForWindow:self.window
        modalDelegate:self
       didEndSelector:nil
          contextInfo:nil];
   
}

-(IBAction)endTheSheet:(id)sender {
   
    [NSApp endSheet:theSheet];
    [theSheet orderOut:sender];
   
}

(2)添加panel,然后就可以按照自己需要添加控件了。由于NSPanel继承自NSWindow,所以可以使用NSTextview



No comments:

Post a Comment