0

UICollectionReusableView のクラスがありますが、UICollectionView から imagePicker へのセグエを実行するには、そのビューにボタンが必要です。デリゲートを使用しようとしましたが、デリゲートに対して nil を取得し続けます。

protocol ShouldSegueToImagePickerDelegate{
    func shouldSegue()
}

class ProfileHeaderCollectionReusableView: UICollectionReusableView{

   var delegate: ShouldSegueToImagePickerDelegate!

   @IBAction func pressedChangeBGPicButton(sender: AnyObject) {
        delegate.shouldSegue()
    }


class ProfileCollectionViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout, ShouldSegueToImagePickerDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate{

  var imagePicker = UIImagePickerController()

  func shouldSegue() {
      imagePicker.allowsEditing = false
       imagePicker.sourceType = .PhotoLibrary
       self.presentViewController(imagePicker, animated: true, completion: nil)
   }

  func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
        imagePicker.dismissViewControllerAnimated(true, completion: nil)
    }

  func imagePickerControllerDidCancel(picker: UIImagePickerController) {
        imagePicker.dismissViewControllerAnimated(true, completion: nil)
  }
4

0 に答える 0