Как добавить модальное представление поверх UITableViewController, который отключает взаимодействие с пользователем

Я хотел бы иметь возможность добавить модальное представление перед моим представлением таблицы, которое отображается относительно представления, а не относительно представления таблицы (как показано на фотографиях) 1. Также, как я могу предотвратить взаимодействие пользователя с таблицей позади. Я также включил код, используемый для анимации моего представления. Заранее спасибо!

func newPersonAnimateIn() {
    self.overlayView.transform = CGAffineTransform.identity
    self.view.addSubview(overlayView)

    overlayView.center = self.view.center
    overlayView.transform = CGAffineTransform.init(scaleX: 1.3, y: 1.3)
    overlayView.alpha = 0

    UIView.animate(withDuration: 0.4) {
        //self.visualEffectView.effect = self.effectHolder
        self.overlayView.alpha = 1
        self.overlayView.transform = CGAffineTransform.identity
    }
    personName.becomeFirstResponder()
}

func newPersonAnimateOut() {
    self.view.endEditing(true)
    UIView.animate(withDuration: 0.3, animations: {
        self.overlayView.alpha = 0
        self.overlayView.transform = CGAffineTransform.identity
    }){(success:Bool) in
        self.overlayView.removeFromSuperview()
    }
    personName.text = ""
}

@IBAction func addPerson(_ sender: UIBarButtonItem) {
    newPersonAnimateIn()
}

@IBAction func continueButton(_ sender: Any) {
    newPersonAnimateOut()
}

1 ответ

Может быть, этого будет достаточно:

self.tableView.isUserInteractionEnabled = false

или создайте другое представление под вашим модальным представлением, которое покрывает весь экран и установите isUserInteractionEnabled = false

Другие вопросы по тегам