开发的时候 经常用到弹窗菜单, 之前的做法是使用
- (void)presentViewController:(NSViewController*)viewControllerasPopoverRelativeToRect:(NSRect)positioningRectofView:(NSView*)positioningViewpreferredEdge:(NSRectEdge)preferredEdgebehavior:(NSPopoverBehavior)behavior
来弹出一个菜单, 这样子的弹窗, 淡出淡入的动画效果很好, 但是不太符合UI设计, 比如说弹窗旁边的小尖尖, 或者调整弹窗的上下左右的具体位置, 这个方法都是无法做到的. 最近在做另外一个项目, 查阅资料的时候, 在Stack Overflow上面找到了一个比较好用的三方弹窗, 弹窗的样式, 是否有箭头, 是否有边框, 边框的大小颜色, 具体的位置都可以自定义. 其内部实现的原理为 自定义的一个Window, 始终显示在父Window上面, 对其样式的调整, 就是对这个window的样式调整, 使用起来比较的方便, 感兴趣的话 自己慢慢研究吧. 下面放上demo
https://gitee.com/bzjn/BaoZi_Project.git












网友评论