NSPopover

来源:互联网 发布:js获取当前数组下标 编辑:程序博客网 时间:2024/06/05 20:54

NSPopover类似于iOS中自定义的popview也是点击一个button会弹出一个弹窗。
首先在xib中拖放两个NSPopover放到面板中,然后再分别拖动点击方法到控制器。
第二步就是在控制器中声明两个NSPopover变量,这样与拖放的两个NSPover相对应。
第三步就是分别懒加载NSPopver。
第四部就是声明两个控制器。

@property(nonatomic,strong)NSPopover *onePopover;@property(nonatomic,strong)NSPopover *towPopover;@property(nonatomic,strong)OneController *shareViewController;@property(nonatomic,strong)TowController *feedbackViewController;
- (IBAction)onePopover:(id)sender{    NSButton *button = sender;    //显示在button 下面    [self.onePopover showRelativeToRect:[button bounds] ofView:button preferredEdge:NSRectEdgeMaxY];}- (IBAction)towAction:(id)sender{    NSButton *button = sender;     //显示在button 上面    [self.towkPopover showRelativeToRect:[button bounds] ofView:button preferredEdge:NSRectEdgeMinY];}

懒加载
- (NSPopover*)onePopover
{
if(!_onePopover){
_onePopover = [[NSPopover alloc]init];
_onePopover.contentViewController = self.OneController;
_sharePopover.behavior = NSPopoverBehaviorTransient;
//_sharePopover.appearance = NSPopoverAppearanceHUD;

}return _onePopover;

}

- (NSPopover*)towPopover{    if(!_towPopover){        _towPopover = [[NSPopover alloc]init];        _towPopover.contentViewController = self.TowController;        _towPopover.behavior = NSPopoverBehaviorSemitransient;    }    return _towPopover;}
- (OneController*)oneController{    if(!_oneController){        _oneController = [[OneController alloc]init];    }    return _oneController;}-(TowController*)towController{    if(!_towController){        _towController = [[TowController alloc]init];    }    return _towController;}
原创粉丝点击