出于某种原因,我想知道如何通过 storyboard 和 以编程方式 在 Xamarin.iOS 中实现 Popup。
目前,我正在做非常简单的解决方法:
在设计器内部,我正在删除其他 View (作为弹出窗口)并像这样进行配置
MyPopupView.Hidden = true;
经过一些步骤(nvm),我通过 显示此弹出窗口
MyPopupView.Hidden = false;
结果是:
是的,这是一种糟糕且非常糟糕的方法,因为如果需要这 5 个或更多人怎么办?
我将无法设计我的 ViewController,因为它会被这些 View 塞满。
另外,出于某种原因,我想显示 arrow(见下图)和 shadow(在弹出窗口之外)以获得更好的可用性。
这正是我想要做的:
或这个(但在里面,我想放置例如我的 xib 或 VC,我可以在其中放置一些其他 View ,例如 .gif 动画):
或者这个:
最后,我想要什么(这个太棒了):
使用 Storyboard的主要思想(通过约束和自动布局使生活变得轻松),但也许它可以以编程方式完成。
我认为使用 UIAlertController 可以做到这一点,只需要插入我们的 View ,但不知道这是正确的方法。
感谢您的建议。
Best Answer-推荐答案 strong>
您发布的最后两张图片可以使用 Storyboard 完成。
基本上你要做的是在你的 Storyboard中创建一个单独的场景/ View Controller ,并将它的演示属性设置为“over current context”。
或者,您可以在 Xcode 中将 segue 设置为“以模式显示”,并将 segue 的表示属性设置为“over current context”
(由于某种原因,Xamarin Studio 中没有出现“Over current context”选项(至少在 Xamarin Studio 6 中没有),当您在 XS 中打开它时,它会显示“创建此条目时出错” "显示属性的消息,但它应该仍然有效)。
下一步是将 Root View 设置为透明(背景颜色 = 清除颜色),然后有一个包含您的内容的 subview 。
如果您想要半透明叠加效果,那么您可以做的是有两个 "sibling" subview ,一个包含您的内容(与以前相同),另一个 View 受限于 Root View 的边缘,并将其 alpha 属性设置为小于 1 的值。
结果如下……
关于ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/43215542/
|