• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何通过 Storyboard (xib?)和以编程方式制作弹出窗口 Xamarin.iOS

[复制链接]
菜鸟教程小白 发表于 2022-12-12 13:17:45 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

出于某种原因,我想知道如何通过 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap