0

表の行をクリックして、セルを参照してView Controllerを表示します(画像のリストから選択するため)

  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 に答える