我有一个这样的窗口,有3个子视图,每个子视图都有按钮。点击那些 - 我需要显示表格。
通过使用此代码,工作表位于窗口的中心。
- (IBAction)closeSubWindow:(id)sender{
[NSApp endSheet:self.subWindow];
[self.subWindow orderOut:nil];
}
- (IBAction)showSubWindow:(id)sender {
[NSApp beginSheet:self.subWindow
modalForWindow:self.window
modalDelegate:self
didEndSelector:nil
contextInfo:nil];
}
是否有任何选项或方法可以在特定的坐标下显示表格?
编辑:
我目前的实施是使用NSPopover
。我可以将此NSPopover
设置为像表一样动画吗?
答案 0 :(得分:3)
查看NSWindow
委托方法-window:willPositionSheet:usingRect:
答案 1 :(得分:0)
根据您的定义,您可以看到一张工作表。所以不,没有办法把它放在不同的位置。你可以创建一个自己的实现,但是在你的情况下,最好不要使用工作表,例如一个NSPopover。从OSX 10.7开始,这是一个很好的方法,可以使用临时视图来显示/输入值。通过使用瞬态(或半瞬态)样式,框架负责管理显示(在不再需要时自动隐藏弹出窗口)。当然,您也可以在其上设置一个OK按钮来提交更改。
popover也有点模态,就像表格一样,所以,在功能上它们非常相似,但你对它的位置有更多的自由。