-1

「Navigation」クラスに「ShowPop:nil」メソッドがあります - ポップオーバーを表示します。

AppDelegate.h から Navigation クラスを継承しました。AppDelegate.m から [Self ShowPop:nill] を呼び出すと、ポップオーバーはポップしませんが、メソッドは実行されます。

同じメソッドからの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
}
4

1 に答える 1

0

NSPopover は、配置ビューが nil の場合に例外をスローし、(結果として) ポップオーバーを表示しません。ポップオーバーが nil ではなく相対的に表示されるようにビューを渡すようにしてください。

于 2013-03-10T21:23:24.953 に答える