Cra*_*Dev 51 nsurl uiimageview uiimage ios
我需要从URL加载图像并将其设置在UIImageView中; 问题是我不知道图像的确切大小,那么我该如何正确显示图像?
fbe*_*rdo 114
只需使用UIImage的size属性,例如:
NSURL *url = [NSURL URLWithString:path];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[UIImage alloc] initWithData:data];
CGSize size = img.size;
Run Code Online (Sandbox Code Playgroud)
yeg*_*256 14
在快速:
var url = NSURL.URLWithString("http://www.example.com/picture.png")
var data = NSData(contentsOfURL : url)
var image = UIImage(data : data)
image.size // if you need it
Run Code Online (Sandbox Code Playgroud)
在快速使用期权:
var url:NSURL? = NSURL(string: imageString)
var data:NSData? = NSData(contentsOfURL : url!)
var image = UIImage(data : data!)
Run Code Online (Sandbox Code Playgroud)
在SWIFT 3.0
主线程必须始终保持空闲状态,以便为用户界面和用户交互提供服务.
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
private func fetchImage() {
let imageURL = URL(string: "https://i.stack.imgur.com/9z6nS.png")
var image: UIImage?
if let url = imageURL {
//All network operations has to run on different thread(not on main thread).
DispatchQueue.global(qos: .userInitiated).async {
let imageData = NSData(contentsOf: url)
//All UI operations has to run on main thread.
DispatchQueue.main.async {
if imageData != nil {
image = UIImage(data: imageData as! Data)
self.imageView.image = image
self.imageView.sizeToFit()
} else {
image = nil
}
}
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
fetchImage()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
83268 次 |
| 最近记录: |