关于BeginSheet 的窗口问题

本文详细介绍了如何通过创建自定义windowxib文件并利用NSBundle加载,实现自定义窗口的显示与附着于父窗口的方法。重点强调了visibleatlaunch选项对于窗口位置的影响及如何调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


转载地址:

http://blog.youkuaiyun.com/wxtsmart/article/details/6395910

如果要弹出一个自定义的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选项。

[NSApp beginSheet:pwdSheet
		   modalForWindow:panel
			modalDelegate:self
		   didEndSelector:@selector(sheetDidEnd:returnCode:contextInfo:)
			  contextInfo:nil];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值