我在“导航”类中有一个方法“ShowPop:nil” - 它显示一个弹出窗口。
我从AppDelegate.h继承了Navigation类。当我从AppDelegate.m调用[Self ShowPop:nill]时,popover不会弹出但方法确实会运行。
注意,我知道popover方法有效,因为它从同一方法的IB按钮连接中完美弹出。
以下示例代码。
@interface Navigation_Main : NSObject
{
}
@property (weak) IBOutlet NSPopover *popover_AddStuff;
- (IBAction)ShowPop:(id)sender;
- (IBAction)ShowPop:(id)sender;
{
[_popover_AddStuff showRelativeToRect:[sender bounds] ofView:sender preferredEdge:NSMaxYEdge];
}
。
**#import "Navigation_Main.h"**
@interface AppDelegate : Navigation_Main <NSApplicationDelegate,NSTextFieldDelegate>
{
- (IBAction)showPopup:(id)sender;
}
- (IBAction)showPopup:(id)sender {
//[self ShowPop:nil]; ---No pop
[super ShowPop:nil]; ---No pop
}
答案 0 :(得分:0)
当定位视图为nil时,NSPopover会抛出异常,并且(因此)不会显示弹出窗口。确保传递一个视图,使弹出窗口相对于而不是nil显示。