У меня есть родительский контроллер представления и контроллер дочернего представления. У меня есть кнопка, которая может отображать этот дочерний контроллер представления. Кнопка выполняет следующие действия: self.performSegue(withIdentifier: "showComments", sender: self)
. Я также подготовил переход и поставил segue.destination.presentationController?.delegate = self
. Я поместил UIAdaptivePresentationControllerDelegate
в свой контроллер представления и попытался добавить эту функцию:
public func presentationControllerDidDismiss(
_ presentationController: UIPresentationController)
{
print("dismissed")
}
Когда я пытаюсь перетащить лист формы, он ничего не печатает, говоря мне, что здесь что-то не так. Есть ли причина, по которой это происходит?
Изменить: вот мой контроллер представления:
import UIKit
class ViewController: UIViewController, UIAdaptivePresentationControllerDelegate {
func presentationControllerWillDismiss(_: UIPresentationController) {
print("yep2")
viewWillAppear(true)
}
@IBOutlet weak var commentImage: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
let vc = CommentingViewController()
vc.presentationController?.delegate = self
let tappp = UITapGestureRecognizer(target: self, action:#selector(ChannelVideoViewController.tapppFunction))
commentImage.addGestureRecognizer(tappp)
// Do any additional setup after loading the view.
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
if segue.destination is CommentingViewController {
if segue.identifier == "showComments" {
segue.destination.presentationController?.delegate = self
}
}
}
var isDismissed: Bool = true
@objc func tapppFunction(sender:UITapGestureRecognizer) {
isDismissed = true
self.performSegue(withIdentifier: "showComments", sender: self)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(true)
isDismissed = true
print("View Disappeared")
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
isDismissed = false
print("view appeared")
}
}
Изменить 2: я не уверен, помогает ли это, но у меня также есть мой ребенок просмотр контроллера в другой раскадровке.