Я использую PanelKit для приложения для iOS, которое я сейчас разрабатываю.
Я настроил панель, которая является ViewController, и настроил кнопку в этом ViewController. При нажатии я хочу, чтобы изображение отображалось в другом ViewController (основной виртуальный канал, который создается при запуске приложения). Я использую делегата для этого. Тем не менее, моя функция делегата никогда не выполняется. Вот мой код:
Делегат:
protocol IMGPickerDelegate: class {
func didFinishPicking(_ imageData: UIImage)
}
Панель ViewController:
class IMGLibraryViewController: UIViewController, PanelContentDelegate {
weak var delegate: IMGPickerDelegate?
@IBAction func fireButton(_ sender: Any) {
let imageSample = UIImage(named: "sample")!
didPickImage(imageDData: imageSample)
}
func didPickImage(imageDData: UIImage) {
delegate?.didFinishPicking(imageDData)
}
Main ViewController:
class ImageDisplayViewController: UIViewController, IMGPickerDelegate {
@IBOutlet weak var imageDisplayViewOutlet: UIImageView!
var imgLibrary = IMGLibraryViewController()
func didFinishPicking(_ imageData: UIImage) {
imageDisplayViewOutlet.image = imageData
}
override func viewDidLoad() {
super.viewDidLoad()
imgLibrary.delegate = self
}