2015-10-01 4 views
0

Как передать данные контроллеру вида, который имеет изображения внутри вида коллекции, другому контроллеру представления, при нажатии на изображение? Поэтому, когда я нажимаю изображение, он открывается в другом контроллере.Пропустить представление изображения из представления коллекции в новый контроллер представления

код cellForItemAtIndexPath:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell 
    { 
     let cell = collectionView.dequeueReusableCellWithReuseIdentifier("cell", forIndexPath: indexPath) as! CollectionViewCell 

     cell.imageText.adjustsFontSizeToFitWidth = true 

     cell.layer.borderWidth = 0.5 
     cell.layer.cornerRadius = 3 
     let myColor : UIColor = UIColor(red: 0.0, green: 0.0, blue:0.0, alpha: 0.15) 
     cell.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.025) 
     cell.layer.borderColor = myColor.CGColor 

     let post = self.arrayOfDetails[indexPath.row] 
     cell.currentUserLabel.text = post.username 
     cell.imageText.text = post.text 

     cell.uploadedTimeLabel.text = post.CreatedAt.timeAgo 

     cell.imageView.setImageWithUrl(NSURL(string: post.image)!, placeHolderImage: UIImage(named: "Placeholder")) 

     return cell 
    } 

Детали: метод

struct Details { 
    var username:String! 
    var text:String! 
    var CreatedAt:NSDate! 
    var image:String! 
    init(username:String,text:String,CreatedAt:NSDate,image:String){ 

     self.username = username 
     self.text = text 
     self.CreatedAt = CreatedAt 
     self.image = image 
    } 
} 

didSelectItemAtIndexPath:

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) 
    { 
     self.performSegueWithIdentifier("showImage", sender: self) 
    } 

Любые предложения, пожалуйста?

+0

где ваш метод didSelectItem? –

ответ

0

В зависимости от того, если вы используете раскадровки или делать это программно, я бы об этом точно так же:

Настройка свойств, нужно в новом VC быть доступны для общественности, а затем либо в prepareForSegue или в методе делегата, когда они нажимают на ячейку, передают информацию, которую вы хотите, в свойства вашего нового VC, затем в viewDidLoad, viewWillAppear и т. д. настройте все, что вам нужно, с этими данными.

Простым решением, конечно же, является просто передать изображение, но это может быть неправильное разрешение и т. Д. Поэтому передайте любые данные, необходимые для его воссоздания либо в prepareForSegue, либо в вашем методе didSelectItem и используйте его в ваш новый VC

+0

Но как именно? –

Смежные вопросы