Редактор изображений не открывается при нажатии на изображение, определенное в представлении коллекции

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    let picker = UIImagePickerController()
      picker.allowsEditing = false
      picker.delegate = self
      picker.sourceType = .photoLibrary

      present(picker, ani[enter image description here][1]mated: true, completion: nil)
    }




  func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

    let image = info[.originalImage] as! UIImage

       picker.dismiss(animated: true, completion: nil) //perform segue kullanılacak

    let controller = PixelEditViewController.init(  
      image: image
    )

    controller.delegate = self as PixelEditViewControllerDelegate

    navigationController?.pushViewController(controller, animated: true)

  }
}


extension LibraryViewController : PixelEditViewControllerDelegate {

  func pixelEditViewController(_ controller: PixelEditViewController, didEndEditing editingStack: EditingStack) {
    self.navigationController?.popToViewController(self, animated: true)
    let image = editingStack.makeRenderer().render(resolution: .full)
    self.imageView.image = image
  }

  func pixelEditViewControllerDidCancelEditing(in controller: PixelEditViewController) {
    self.navigationController?.popToViewController(self, animated: true)
  }
}

extension LibraryViewController : UIImagePickerControllerDelegate, UINavigationControllerDelegate {

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
  picker.dismiss(animated: true, completion: nil)
}

}

Нажатие на ячейку в коллекционном представлении открывает библиотеку фотографий, я не хочу этого

Что я хочу, когда ячейка щелкается в представлении коллекции

Я хочу, чтобы он был перенаправлен непосредственно в pixelEditViewController

Проблема в том, что щелчок по ячейке в представлении коллекции открывает библиотеку фотографий.

Я не хочу этого, я хочу, чтобы он был перенесен непосредственно на страницу редактирования

Всего 1 ответ


Вам нужно написать логику навигации в функции didSelectItemAt как didSelectItemAt ниже

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) 
{

    let controller = PixelEditViewController.init(  
      image:  // take image from array and pass it here
    )

    controller.delegate = self as PixelEditViewControllerDelegate

    navigationController?.pushViewController(controller, animated: true)    
}

Есть идеи?

10000