是否可以在其他 UI 元素后面显示 Popover?

Posted

技术标签:

【中文标题】是否可以在其他 UI 元素后面显示 Popover?【英文标题】:Is it possible to display a Popover behind other UI elements? 【发布时间】:2012-06-28 19:01:20 【问题描述】:

ios 应用中,是否可以在其他元素后面显示弹出框?

例如,如果我有一个 UIView* myView 已经包含多个子视图,并且我创建一个新的子视图 UIView* popopverView,并在视图 popopverView 中调用 presentPopoverFromRect,它仍然显示在其他子视图,即使我打电话给[myView sendSubviewToBack:popoverView]

我测试了其他元素,例如按钮,它们显示在其他元素的后面。弹出框是否固有地显示在所有子视图之上?

【问题讨论】:

Using MKAnnotationView without MKMapView? 的可能重复项 【参考方案1】:

来自documentation:

您使用弹出框来临时呈现信息,但不会像模态视图那样占据整个屏幕。弹出内容在一种特殊类型的窗口中叠加在现有内容之上。弹出框一直可见,直到用户在弹出框窗口外点击或您明确将其关闭。

不可能“隐藏”UIPopoverController - 您将其关闭(或用户关闭)。无论如何,您不需要在 UIPopoverController 之上显示其他视图 - 这就是 目的。

【讨论】:

...这就是为什么它被称为 popOVER 我真正想要的是与MKAnnotation 行为相似的东西,但是,在这种情况下不适合使用地图框架 找到了我要找的东西 - 看到这个问题:***.com/questions/1619245/… 虽然 Evan 所说的 99.44% 是真的,但也有例外。例如,我试图在弹出框上弹出一个“工具提示”(比那个大一点,但同样的想法)。这是一次性的(嗯,它有一个“不再显示”按钮)。我可以将其作为UIAlertView 进行,但它们太丑了,所以我尝试将其作为自定义 UI。这就是 UI-over-popover 的合法案例(但超出了 popover 的范围。)

以上是关于是否可以在其他 UI 元素后面显示 Popover?的主要内容,如果未能解决你的问题,请参考以下文章

element-ui解决el-popover的边界重新计算元素位置的问题

将 UI 元素隐藏在其他 UI 元素后面

统一拖拽,拖到其他UI元素后面

iPad上有啥样的popover

Element-UI的el-popover实现同一个popover重复使用多次(类似MessageBox)

vue element ui el-popover组件改造滚动显示信息