0

在表格行上单击我引用一个单元格以呈现一个视图控制器(从图像列表中选择)

  def open_selector             
     view_b = ImagesController.new  #using rmq hence .new           
     @@cell.superview.superview.controller.presentViewController view_b, animated:true, completion:nil
  end

在图像控制器内部 - 完成选择后我会关闭 - 但是如何让单元格知道它已关闭?

def collectionView(view, didSelectItemAtIndexPath: index_path)

  self.dismissViewControllerAnimated(true, completion: lambda{})

end
4

1 回答 1

0

我建议为您提供UICollectionViewController一个委托,以便它可以自行回调。所以:

class MyCollectionViewController < UICollectionViewController
  attr_writer :parent_controller

  # ...

  def collectionView(view, didSelectItemAtIndexPath: index_path)
    self.dismissViewControllerAnimated(true, 
                                       completion: lambda{
                                       @parent_controller.collection_did_close(self)
                                       })
  end

假设您collection_did_close在父控制器中调用了一个方法,它将通过对集合视图控制器的引用来调用。使用它,您可以在垃圾收集之前从那里获取您需要的任何信息。

于 2014-11-25T00:04:38.677 回答