如何从 URL 将图像加载到 imageView? [复制]
Posted
技术标签:
【中文标题】如何从 URL 将图像加载到 imageView? [复制]【英文标题】:How to load an image to the imageView from a URL? [duplicate] 【发布时间】:2016-06-02 15:38:08 【问题描述】:我的ViewController.swift
类中有以下代码:
import UIKit
class ViewController: UIViewController
@IBOutlet weak var imageView: UIImageView!
var newImage : UIImage?
let imgURL = NSURL(string : DemoURLs.photoURL)
func fetchImage()
if let url = imgURL
let imageData = NSData(contentsOfURL: url)
if imageData != nil
newImage = UIImage( data: imageData! )
else
newImage = nil
override func viewDidLoad()
super.viewDidLoad()
imageView.image = newImage
demoURLs.swift
文件有一个像这样的简单结构:
import Foundation
struct DemoURLs
static var photoURL = " http://science-all.com/images/wallpapers/image/image-6.jpg "
当我在模拟器中运行它时,我得到一个纯白屏幕。
【问题讨论】:
你从来没有运行过 fetchImage(),是吗? 【参考方案1】:存在三个问题:
你的网址在字符串的开头和结尾都包含空格(所以它以<Space>http://s...
开头,但应该是http://s...
)
如果您为 ios 9 开发,出于安全原因,它会阻止 http
请求。您可以通过转到 Info.plist
文件、添加 App Transport Security Settings
键并在其中添加另一个键 - Allow Arbitrary Loads
和 YES
值来禁用它。应该看起来像这样:
-
您应该在设置图像
imageView.image = newImage
之前在viewDidLoad()
中调用fetchImage()
【讨论】:
@EricD 是的,已添加,谢谢 :)以上是关于如何从 URL 将图像加载到 imageView? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Android:如何在不加载完整位图的情况下将流式图像即时渲染到 ImageView?