2016-08-05 66 views
0

Ich habe ein Array mit allen Bildern, die ich von der Kamera bekommen habe. Sie sind in meinen coreData gespeichert. Wenn ein Benutzer ein neues Foto macht, wird das Foto in den Core-Daten gespeichert und dann ersetze ich die normalen Array-Daten durch die CoreData-Bilder. Wenn ich also zurück in die Sammlungsansicht gehe, wird nur das erste und das letzte Bild angezeigt. Wenn ich die Bilder [indexpath.item] ausdrucke, habe ich die Bilder bekommen. Aber sie werden nicht in den Zellen gezeigt. Ich habe eine benutzerdefinierte Klasse für die Bildansicht in der Zelle und die Bildansicht hat Einschränkungen, so dass das Bild nicht aus dem sichtbaren Bereich sein kann, denke ich. Ich freue mich darauf, dieses Problem mit Ihrer Hilfe zu lösen. Vielen Dank. HierBilder werden nicht in meinen Collectionviewcells angezeigt. iOS (swift)

ist der Code von der Kamera Haken:

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage!, editingInfo: [NSObject : AnyObject]!) { 




    photoImage.image = image 

    print(images) 
    addPhotoLabel.removeFromSuperview() 
    if(isEdit == false) 
    { 

     let context = (UIApplication.sharedApplication().delegate as! AppDelegate).managedObjectContext 
     let entinity = NSEntityDescription.entityForName("Image", inManagedObjectContext: context) 

     let newImage = Image(entity: entinity!, insertIntoManagedObjectContext: context) 
     newImage.image = UIImageJPEGRepresentation(image, 1) 
     do { 
      try context.save() 
     } catch let error as NSError { 
      print(error) 
     } 
     images.removeAll() 
     let request = NSFetchRequest() 
     request.entity = entinity 
     let fetched = try? context.executeFetchRequest(request) 
     if fetched != nil { 
      let imagesS = fetched!.map { UIImage(data: ($0 as! Image).image!)} 

      images.appendContentsOf(imagesS) 

     } 




    } 
    self.dismissViewControllerAnimated(true, completion: nil); 
} 

Und hier ist der Code wurden erstellen i die Zelle:

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
//1 

let cell : FlickrPhotoCell = collectionView.dequeueReusableCellWithReuseIdentifier(reuseIdentifier, forIndexPath: indexPath) as! FlickrPhotoCell 





if(searchBarActive == true) 
{ 
    cell.nameLabel.text = researchResults[indexPath.item] 
    cell.imageView.image = sFunc_imageFixOrientation(resultImages[indexPath.item]) 



} 
else 
{ 


cell.nameLabel.text = names[indexPath.item] 
    let imageT : UIImage = images[indexPath.item]! 

cell.imageView.image = images[indexPath.item] 
print(images[indexPath.item]) 




} 

cell.nameLabel.hidden = false 

cell.frame.size = CGSizeMake(UIScreen.mainScreen().bounds.width/2 , UIScreen.mainScreen().bounds.width/2) 

cell.imageView.frame = cell.frame 



cell.backgroundColor = UIColor.clearColor() 
cell.layer.borderColor = themeColor.CGColor 
cell.layer.borderWidth = 4 
cell.layer.cornerRadius = CGFloat(10.0) 
cell.placeHolderName.frame.size = CGSize(width: cell.frame.width, height: cell.frame.height/4) 







return cell 

}

+0

Bitte zeigen Sie uns den Code, den Sie versuchen. –

+0

hier ist der Quellcode, wenn Sie mehr brauchen, fragen Sie einfach, danke @NDoc –

Antwort

0

Könnten Sie versuchen, und ändern Sie: cell.imageView.frame = cell.frame zu cell.imageView.frame.size = cell.frame.size

+0

Sie sind meine Helden Männer! –