После обновления Xcode до 11.4, ActionSheet больше не может отображаться, где popoverPresentationController.sourceView
установлено для представления контроллера представления.
let actionSheet = UIAlertController(title: "Menu", message: nil, preferredStyle: .actionSheet)
actionSheet.popoverPresentationController?.sourceView = self.view
Этот код приведет к:
Unable для одновременного удовлетворения ограничений.
"NSLayoutConstraint: 0x600002710f00 UIView: 0x7ff181e12ae0.width == - 16 (active)"
Создайте символическую c точку останова на UIViewAlertForUnsatisfiableConstraints, чтобы перехватить это в отладчике
* * исходное представление настроено на другое представление:
let actionSheet = UIAlertController(title: "Menu", message: nil, preferredStyle: .actionSheet)
actionSheet.popoverPresentationController?.sourceView = self.someButton
Это работает.
Является ли это законным изменением (если представление контроллера представления не является допустимым исходным представлением) или оно попадает в категория "ошибка"?