具有透明背景的 Swift 模态视图控制器 [重复]

2024-05-14

我知道这个话题很受欢迎,但我在编程语言中遇到了一些问题,事实是我仍然不明白我把代码放在哪里。好吧,我就来说说整个案子:

我正在尝试制作一个与正常情况稍有不同的模态 Swift:通过单击按钮,ViewController 将显示在屏幕上(遵循模态类型),但具有透明背景。仅显示带标签的蓝色视图。当此 ViewController 呈现时,它具有透明背景,但一旦完成转换,它将保持黑色背景。已经停用了不透明选项,并测试了一些选项,但没有解决此问题。

有人可以帮助我吗?

该视频是在模拟器中对案例进行的测试(https://www.youtube.com/watch?v=wT8Uwmq9yqY https://www.youtube.com/watch?v=wT8Uwmq9yqY).

我从 swift 开始,但我仍然对如何在 Xcode 中编程感到非常迷茫,我读到了一个问题的答案,其中包含以下代码来解决这个问题:

self.presentingViewController.providesPresentationContextTransitionStyle = YES;
self.presentingViewController.definesPresentationContext = YES;
modal.modalPresentationStyle = UIModalPresentationOverCurrentContext;

我该把这段代码放在哪里?


你可以这样做:

在你的主视图控制器中:

func showModal() {
    let modalViewController = ModalViewController()
    modalViewController.modalPresentationStyle = .overCurrentContext
    presentViewController(modalViewController, animated: true, completion: nil)
}

在模态视图控制器中:

class ModalViewController: UIViewController {
    override func viewDidLoad() {
        view.backgroundColor = UIColor.clearColor()
        view.opaque = false
    }
}

如果您正在使用故事板:

只需添加一个 Storyboard Segue 即可Kind set to Present Modally到您的模态视图控制器并在此视图控制器上设置以下值:

  • 背景 = 清晰的颜色
  • 绘图 = 取消选中不透明复选框
  • 演示 = 当前上下文

As 克拉沙洛特 https://stackoverflow.com/users/144088/crashalot他在评论中指出:确保segue只使用Default对彼此而言Presentation and Transition. Using Current Context for Presentation使模态变为黑色而不是保持透明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有透明背景的 Swift 模态视图控制器 [重复] 的相关文章

随机推荐

  • 在 Firebase 中为 TextView Swift 保存字体和大小的方法是什么

    我想在 Firebase 中保存 Swift 中 TextView 的字体 大小和对齐方式 这样我就可以在另一个视图中调用它 我只能将颜色保存在 Firebase 中 这是显示我是如何做到的的代码 IBAction func SendBtn
  • 如何在发送邮件之前验证 smtp 凭据?

    我需要验证在中设置的用户名和密码SmtpClient发送邮件之前的实例 使用此代码 SmtpClient client new SmtpClient host client Credentials new NetworkCredential
  • 如何删除或更改默认帮助命令?

    如何删除或至少更改discord py 中默认帮助命令的格式 我认为改变格式会很好 我根本不喜欢这种格式 尝试这个 bot remove command help 在导入之后将其放在代码的顶部 然后创建你自己的 或者要格式化它 请检查一下
  • 升级到最新支持库后Android JACK编译器错误

    Android Studio 2 2 3 Windows 10 64位 构建工具版本 25 Android Gradle插件版本2 2 3 升级到最新的支持库 从 23 4 0 到 25 1 0 并更改编译版本 从 23 到 25 后 我收
  • Groupby 应用自定义函数 Pandas

    我正在尝试在 pandas 中应用类似于 dplyr 中的 groupby 和 mutate 功能的自定义函数 我想做的是给出这样的 pandas 数据框 df pd DataFrame category1 a a a b b b cate
  • 表已满(使用 MEMORY 引擎)

    我想将生产数据库传输到我的开发机器上进行测试 它有 6 张桌子MEMORY出于性能目的的引擎 I did mysqldump routines hxxx uxxx pxxx prod database gt prod dump sql 当我
  • 在Python中根据for循环中的字典键创建动态变量

    我有这个程序 dict1 x 1 y 10 20 for each in list dict1 keys exec each dict1 each exec x dict x exec y dict y print x print y 我真
  • 寻找将集合映射到整数的双射函数

    对于任意两个序列 a b 其中 a a1 a2 an 且 b b1 b2 bn 0a b具有相同的元素 而不关心它们的顺序 例如 如果 a 1 1 2 3 b 2 1 3 1 c 3 2 1 3 则 f a f b f a f b 我知道有
  • 如何在 Tableau 中将数据规范化为某个范围

    在 Tableau 中 我尝试实现以下规范化逻辑 https stats stackexchange com questions 70801 how to normalize data to 0 1 range https stats st
  • MySQL 获取时间优化

    o我有一个包含 200 万个寄存器的表 但它很快就会增长得更多 基本上 该表包含具有相应描述符的图像的兴趣点 当我尝试执行选择在空间上靠近查询点的点的查询时 总执行时间花费太长 更准确地说 持续时间 获取 0 484 秒 27 441 秒
  • gnuplot:字体较小的字幕

    有人知道如何在 gnuplot 中插入较小字体的字幕吗 目前 我创建字幕的方式是使用 n在标题中 另外 我希望字幕的字体较小 提前致谢 这至少适用于 postscript 终端 出于某种原因x11不想缩放我的字体 也许这是一个错误 set
  • 枚举的子类化

    有没有一种简单的方法来子类化Javaenum 我问这个问题是因为我有大约 10 个实现相同接口的对象 但它们对某些方法也有相同的实现 因此我想通过将所有相同的实现放置在扩展的中间对象中来重用代码Enum它也是我需要的所有其他类的超类 或许事
  • 如何检测Windows版本是否合法? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对获取版本信息不感兴趣 我想做的就是确保我的应用程序只能在合法版本的 Windows 上运行 而不是在盗版版本上运行 Windows 使
  • Django重复输入错误(1062)的原因?

    我更新了下面的信息以引用给我相同错误的不同模型 视图 它是一个更简单的模型 因此需要考虑的变量更少 我有以下模型 class Imaging order Order order description models ForeignKey I
  • Windows Phone SDK8 安装疑难解答

    我在运行 Windows 8 非专业版 的 PC 上使用 Visual Studio 2012 SDK 8 0 我决定购买另一个硬盘在同一台 PC 上安装 Windows Pro 以便在 PC 上运行 Windows Phone 模拟器 P
  • 在 TypeScript 中将 Chai 自定义插件声明为 NodeJS 全局变量

    这是我之前的问题 https stackoverflow com questions 61676032 declare nodejs global variables in before hook in webdriverio using
  • JSON 值的模式匹配

    运行 Postgres 12 5 的本地 docker 实例 4MBwork mem 我正在实施这个图案 https dba stackexchange com q 108447 3684搜索 json 中的任意字段 目标是搜索并返回 JS
  • 从 PHP 中的字符串中删除转义序列

    我正在使用一个已转义字符序列的 mysqldump 文件 我需要知道字符串的长度作为其数据库值 但转储中包含转义字符 这会增加字符串的长度 我用过stripslashes 它正确地取消转义单引号和双引号 但它不会触及 r n 我担心其中还有
  • Resharper 删除了 foreach 的产量。为什么?

    我最近了解到yield然后创建以下测试控制台程序 public static string Customers Paul Fred Doug Mark Josh public static string Admins Paul Doug M
  • 具有透明背景的 Swift 模态视图控制器 [重复]

    这个问题在这里已经有答案了 我知道这个话题很受欢迎 但我在编程语言中遇到了一些问题 事实是我仍然不明白我把代码放在哪里 好吧 我就来说说整个案子 我正在尝试制作一个与正常情况稍有不同的模态 Swift 通过单击按钮 ViewControll