【问题标题】:UIImageView loading then immediately turns blackUIImageView 加载然后立即变黑
【发布时间】:2014-10-28 05:42:36
【问题描述】:

所以我一遍又一遍地检查我的代码并在网上寻找解决这个问题的方法,但我被困住了。我在网上找不到任何关于为什么屏幕会加载然后变黑的信息。该代码以模态方式呈现另一个视图,其中包含一个 UIImageView。应该在图像视图中加载一个图像(.png 文件),当视图以模态方式呈现时,您可以看到图像,但是一旦视图滑入到位,整个视图就会变黑。您还可以在情节提要中看到图像并正确显示,只有在模拟器中图像立即变黑。

这是显示的视图控制器的代码:

import UIKit

class MenuViewController: UIViewController
{
    @IBOutlet var imageView: UIImageView!

    override func viewDidLoad()
    {
        super.viewDidLoad()
        // Do any additional setup after loading the view
        let backgroundImage: UIImage! = UIImage(contentsOfFile: "behind_alert_view.png")
        imageView.image = backgroundImage;
    }


}

我也尝试使用函数 UIImage(named: "behind_alert_view.png")。任何帮助将不胜感激!

【问题讨论】:

  • 只是为了测试图像是否消失并显示您的 VC 的背景,在变黑的 VC 中将此添加到您的 viewDidLoad 函数中: view.backgroundColor = UIColor.whiteColor() 如果黑色是你的视图的背景颜色,那么它现在应该变成白色了。
  • 是的,我试过了,它不是黑色而是变成白色,图像不再可见。该图像仅在视图向上滑动然后变为白色时出现。
  • 这是您的模态视图的背景图像吗?如果没有,它是否出现在左上角而不是您在 IB 中放置的位置?
  • 是的,它是一张背景图片。我试图创建一个模态呈现的菜单,它有一个半透明的背景来显示下面的内容。我遵循的教程建议使用半透明的图像,例如那个,然后将菜单放在图像的顶部。
  • 我想知道是不是菜单视图控制器没有被弹出到堆栈上,这意味着下面不会有任何东西可以显示?

标签: ios swift uiimageview


【解决方案1】:

首先,在您的 SecondViewController 中,将主视图的背景颜色设置为 clearColor,并在其中添加第二个全尺寸视图。将第二个视图的背景颜色设置为您想要的颜色,例如“darkGrayColor”并将其 alpha 设置为 0.3。

然后,在 Interface Builder 中,单击 FirstViewController 和 SecondViewController 之间的 segue,然后在“Presentation”下选择“Over Current Context”。

或者,下面的代码应该做同样的事情。但在 Xcode 6 Beta 7 中,我无法让它成功运行:

self.modalPresentationStyle = UIModalPresentationStyle.CurrentContext

【讨论】:

  • 哇,非常感谢!!这完全解决了它!我已经为此苦苦挣扎了将近两个星期,试图弄清楚如何做到这一点! :D 现在我终于可以继续这个项目了!
  • 很高兴它有帮助!喜欢这个主意......我想我会自己使用它!干杯!
猜你喜欢
  • 1970-01-01
  • 2015-09-29
  • 2016-07-22
  • 1970-01-01
  • 1970-01-01
  • 2020-12-11
  • 1970-01-01
  • 2021-06-15
  • 2023-03-03
相关资源
最近更新 更多