我试图将两个NSPopover放在.xib文件上的两个帮助按钮上。
为此,我在我的.h
中宣布@interface ExportPreferences : NSPreferencePane <NSPopoverDelegate>
{
NSWindow *window;
NSPopover *popover;
NSUserDefaults *prefs;
NSMutableArray *myArran;
IBOutlet NSButton *images;
IBOutlet NSPopUpButton *modalities;
IBOutlet NSPathControl *path;
IBOutlet NSPopUpButton *tree;
IBOutlet NSPopUpButton *extension;
}
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet NSPopover *popover;
@end
我的.m中有两种不同的方法:
- (IBAction) showInfoTreePopover {
[[self popover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxXEdge];
}
- (IBAction) showInfoTypePopover {
[[self popover] showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxXEdge];
}
然后,在我的.xib中我声明了
我联系了:
由于我实现了两个NSPopover,我做了两次,两个Popover,两个Popover View Controller,两个Custom View,两个标签。
当我编译时,一切正常,但是当我测试它时,似乎只有我的第二个Popover出现在两个按钮上。似乎实施第二个Popover,抹去了第一个。
我怎么补丁呢?
答案 0 :(得分:0)
好吧,我回答了我自己的问题,但我想如果有人面临同样的问题,我可能会给出答案。
当使用两个NSPopovers时,我必须声明两个不同的Outlets,
html {
height: 100%;
}
body {
height: 100%;
position: relative;
}
#wrapper {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
height: 100%;
padding: 60px 0;
position: relative;
}
#header {
width: 100%;
height: 60px;
background: #171717;
position: absolute;
top: 0;
left: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#content {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
height:100%;
background: gray;
display: flex;
}
#left {
background: green;
width: 200px;
flex: 0 0 200px;
}
#right {
background: red;
width: 100%;
position: relative;
}
#footer {
width: 100%;
height: 60px;
background: #171717;
bottom: 0;
left: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
另外,两个属性
NSPopover *treePopover;
NSPopover *typePopover;
现在,链接工作完美。