首页 > 其他 > 详细

关于BeginSheet 的窗口问题

时间:2015-04-13 14:35:19      阅读:166      评论:0      收藏:0      [点我收藏+]
如果要弹出一个自定义的window,可以创建一个新的window xib文件,并通过NSBundle来加载。xib的window属性有一个选项,就是visible at lauch,如果勾选的,执行下面代码时:

    [NSBundle loadNibNamed: @"RegisterWindow" owner: self];


    [NSApp beginSheet: sheet

  modalForWindow: window

modalDelegate: self

  didEndSelector:	@selector(didEndSheet:returnCode:contextInfo:)

  contextInfo: nil];

 

上面代码,自定义的窗口无法附在父窗口上;如果要让刚加载的窗口附在父窗口上,必须取消勾选visible at lauch选项。

  

//    NSRect rect = NSMakeRect(20, 20, 200, 200);
//    NSUInteger windowStyle = NSResizableWindowMask;
//    NSWindow *window = [[NSWindow alloc] initWithContentRect:rect styleMask:windowStyle backing:NSBackingStoreBuffered defer:NO];
//    
//    [NSApp beginSheet:edit.window
//       modalForWindow:[NSApp mainWindow]
//        modalDelegate:nil
//       didEndSelector:nil
//          contextInfo:nil];
//    [NSApp runModalForWindow: window];
//    
//    [NSApp endSheet:window];
//    [window orderOut:self];

  

关于BeginSheet 的窗口问题

原文:http://www.cnblogs.com/ZhangYuGe/p/4422031.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!