OStack程序员社区-中国程序员成长平台

标题: ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 13:17
标题: ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS

出于某种原因,我想知道如何通过 storyboard以编程方式 在 Xamarin.iOS 中实现 Popup


目前,我正在做非常简单的解决方法:

在设计器内部,我正在删除其他 View (作为弹出窗口)并像这样进行配置
MyPopupView.Hidden = true;

经过一些步骤(nvm),我通过

显示此弹出窗口

MyPopupView.Hidden = false;

结果是:
enter image description here

是的,这是一种糟糕且非常糟糕的方法,因为如果需要这 5 个或更多人怎么办?
我将无法设计我的 ViewController,因为它会被这些 View 塞满。
另外,出于某种原因,我想显示 arrow(见下图)和 shadow(在弹出窗口之外)以获得更好的可用性。


这正是我想要做的:
enter image description here

或这个(但在里面,我想放置例如我的 xib 或 VC,我可以在其中放置一些其他 View ,例如 .gif 动画):
enter image description here

或者这个:
enter image description here

最后,我想要什么(这个太棒了):
enter image description here


使用 Storyboard的主要思想(通过约束和自动布局使生活变得轻松),但也许它可以以编程方式完成。

我认为使用 UIAlertController 可以做到这一点,只需要插入我们的 View ,但不知道这是正确的方法。

感谢您的建议。



Best Answer-推荐答案


您发布的最后两张图片可以使用 Storyboard 完成。

基本上你要做的是在你的 Storyboard中创建一个单独的场景/ View Controller ,并将它的演示属性设置为“over current context”enter image description here enter image description here

或者,您可以在 Xcode 中将 segue 设置为“以模式显示”,并将 segue 的表示属性设置为“over current context”

enter image description here

(由于某种原因,Xamarin Studio 中没有出现“Over current context”选项(至少在 Xamarin Studio 6 中没有),当您在 XS 中打开它时,它会显示“创建此条目时出错” "显示属性的消息,但它应该仍然有效)。

下一步是将 Root View 设置为透明(背景颜色 = 清除颜色),然后有一个包含您的内容的 subview 。

enter image description here

如果您想要半透明叠加效果,那么您可以做的是有两个 "sibling" subview ,一个包含您的内容(与以前相同),另一个 View 受限于 Root View 的边缘,并将其 alpha 属性设置为小于 1 的值。

enter image description here

enter image description here

结果如下……

enter image description here

关于ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43215542/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4