Я хочу загрузить UIImage
динамически. и они имеют разные размеры. То, что я пытался сделать, сбрасывает мой кадр UIImageView
после загрузки изображения.Создание динамической высоты UIImageViews программно в быстром
let imgVw:UIImageView! = UIImageView.init(frame: CGRectMake(5, self.otherVidY, imgvwWidth, scrollH-10))
imgVw.image=UIImage(named: "NotFound")
self.scroll.addSubview(imgVw)
let vwY = (self.otherVidY+scrollH-10)-30
let view: UIView = UIView.init(frame: CGRectMake(5, vwY, imgvwWidth, 30))
view.backgroundColor=UIColor.blackColor()
self.scroll.addSubview(view)
if let imgURL = NSURL(string: urlString)
{
do {
if let img = imageCache[urlString] {
imgVw.image = img
}
else
{
// The image isn't cached, download the img data
// We should perform this in a background thread
let request: NSURLRequest = NSURLRequest(URL: imgURL)
let mainQueue = NSOperationQueue.mainQueue()
NSURLConnection.sendAsynchronousRequest(request, queue: mainQueue, completionHandler: { (response, data, error) -> Void in
if error == nil {
// Convert the downloaded data in to a UIImage object
let image = UIImage(data: data!)
let resizedImage = self.resizeImage(image!, newWidth: imgVw.frame.size.width, imageView: imgVw)
// Store the image in to our cache
self.imageCache[urlString] = resizedImage
// Update the cell
dispatch_async(dispatch_get_main_queue(), {
imgVw.image = resizedImage
var rect = imgVw.frame
rect.size.height = resizedImage.size.height
imgVw.frame = rect
self.otherVidY = imgVw.frame.origin.y+imgVw.frame.size.height+5
})
}
else {
print("Error: \(error!.localizedDescription)")
}
})
}
}
}
self .otherVidY=imgVw.frame.size.height+imgVw.frame.origin.y+5
self.scroll.contentSize=CGSizeMake(self.screenWidth, self.otherVidY+imgVw.frame.size.height)
}
, но перед установкой значения Y следующего изображения возникает проблема. Его перекрытие. Как решить эту проблему. Пожалуйста, помогите мне. Thanks