Swift: 添加到新视图时,图像没有出现在 ImageView 中

Swift: Image does not appear in the ImageView when added to a new view

对于我正在开发的应用程序,配置文件页面顶部有一个水平滚动条,其中有 3 个视图,每个视图都跨越设备的宽度。一个视图是个人资料图片,另一个是详细信息,另一个是社交链接。

我遇到的问题是,当我创建一个名为 profileImageUIImageView,然后将用户个人资料图像分配给此视图时,在我添加此滚动视图之前一切正常。

然后我创建了这个滚动视图,profileImage 位于 firstView,滚动的第一个视图。但是图像永远不会出现,这不仅仅是图像的问题,因为我也尝试在资产中添加默认图像。

var profileImage: UIImageView!

下面是用于创建幻灯片 firstView 并将图像添加到图像视图的代码块。

        let firstView = UIView(frame: CGRectMake(scrollView.frame.origin.x, scrollView.frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height))
    firstView.backgroundColor = Colours.blue
    scrollView.addSubview(firstView)
    var img = UIImage(named: "default_image")
    profileImage = UIImageView(image: img!)
    profileImage.contentMode = UIViewContentMode.ScaleToFill
    if let imageUrl = user.profilePictureUrl {
        profileImage.hnk_setImageFromURL(imageUrl)
        println("THIS IS IMAGE URL: \(imageUrl)")
    }
    profileImage = UIImageView(frame: CGRectMake((firstView.bounds.size.width - profileImage.frame.size.width) / 2.0, 10, 80, 80))
    firstView.addSubview(profileImage)
    firstView.bringSubviewToFront(profileImage)

imageUrl 出现,我知道我很容易漏​​掉一些东西。另外我要注意 UIImageViewUIScrollView 不是 IBOutlet 而是以编程方式创建的。

您已经实例化了两次同名的 UIImageView 对象"profileImage";所以你的第一个 profileImage 被下一个 profileImage 覆盖。在最后第三行注释并设置框架:

profileImage.frame = CGRectMake(x,x,x,x)