我有2个图像(截至目前)从Parse下载到相应的cellForRowAtIndexPath。我试图将这些图像放在UIScrollView中。
测试图像是否存在: 因为我设置了2个UIImageViews并且Parse中的两个图像都在indexPaths中正确显示,所以图像正在正确下载
测试scrollView:然后我也从我的桌面创建了一个预加载图像数组(5个图像),并将它们放在tableViewCell中的数组中。它们在我的indexPaths中正确显示,我能够滚动浏览我的5张图片。
我试过最新的事情。
在我从桌面尝试的5张图片后,我想要使用一组UIImages,它将从我的ViewController传递。
的ViewController:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//...previous code
resultsHasImageOneFile[indexPath.row].getDataInBackgroundWithBlock{
(ImageOneData: NSData?, error: NSError?) -> Void in
if error == nil {
myImages.append(UIImage(data: ImageOneData!)) //adds to array in cell
}
}
resultsImageTwoFile[indexPath.row].getDataInBackgroundWithBlock { (ImageTwoData: NSData?, error: NSError?) -> Void in
if error == nil {
myImages.append(UIImage(data: ImageTwoData!)) //adds to array in cell
}
//...additional code: including returning cell
}
自定义TableViewCell: 我计划添加最多5张可以从Parse中检索到的图像,这就是我为什么要这样做for-in循环。
@IBOutlet var imageScrollView: UIScrollView!
var imageWidth: CGFloat = 310
var imageHeight: CGFloat = 400
var yPosition: CGFloat = 0
var xPosition: CGFloat = 0
var scrollViewContentSize: CGFloat = 0
var myImages: [UIImage?] = [] //will hold 2 images per row
override func awakeFromNib() {
super.awakeFromNib()
let theWidth = UIScreen.mainScreen().bounds.width
//create add UIImageView to scrollView
for var index = 0; index < myImages.count; index++ {
var myImage: UIImage = myImages[index]!
var myImageView: UIImageView = UIImageView()
myImageView.image = myImage
myImageView.frame.size.width = imageWidth
myImageView.frame.size.height = imageHeight
myImageView.frame.origin.x = xPosition
myImageView.frame.origin.y = 0
imageScrollView.addSubview(myImageView)
xPosition += imageWidth
scrollViewContentSize += imageWidth //imageHeight
imageScrollView.contentSize = CGSize(width: scrollViewContentSize, height: imageHeight)
}
}
我打印出阵列的计数,它说它是空的......
我还在我的ViewController中尝试了scrollView代码,它仍然没有显示任何内容。我错过了什么?这真让我烦恼。
答案 0 :(得分:0)
override func awakeFromNib() {
super.awakeFromNib()
let theWidth = UIScreen.mainScreen().bounds.width
//create add UIImageView to scrollView
if(index>0)
{
for var index = 0; index < myImages.count; index++ {
var myImage: UIImage = myImages[index]!
var myImageView: UIImageView = UIImageView()
myImageView.image = myImage
myImageView.frame.size.width = imageWidth
myImageView.frame.size.height = imageHeight
myImageView.frame.origin.x = xPosition
myImageView.frame.origin.y = 0
imageScrollView.addSubview(myImageView)
xPosition += imageWidth
scrollViewContentSize += imageWidth //imageHeight
imageScrollView.contentSize = CGSize(width: scrollViewContentSize, height: imageHeight)
}
}
条件
只检查索引是否为空的条件,因为如果你从服务器端获取图像需要时间。
否则在获取图像详细信息后调用scrollview方法。