RBLPopover 是来自 Github 的 Guys 制作的 Popover,旨在模仿 NSPopover,但修复了它的一些缺陷,例如 canBecomeKeyWindow。它是他们目前托管在 GitHub 上的 Rebel 框架的一部分。我决定将此弹出框用于我的状态栏应用程序,但现在遇到了问题。NSPopover 能够动态调整它的大小,如果它被显示并且你使用 setContentSize 的话。然后它会自动调整动画到新给定的大小。但是,RBLPopover 并没有这样做。在研究了 RBLPopover 的代码 8 小时后,我无法解决这个问题,原因之一是我对视图如何在内部详细工作的知识滞后。
RBLPopover 的代码可以在这里找到:
https://github.com/github/Rebel/blob/master/Rebel/RBLPopover.m
有人可以给我一个关于如何解决这个问题的提示吗?我不要求代码,只是关于如何实现这一点的一些建议/概念。它的父类中是否缺少某些方法?我不相信 showRelativeToRect:ofView:preferredEdge: 是正确的改变方法。我相信缺少一些更基本的东西,但我不明白。