Я пытаюсь добавить пользовательское уведомление в iOS 10, которое использует уведомления с сильным прессом. Я хочу программно добавить представление в центр контроллера вида, который наследуется от UNNotificationContentExtension, но все, что я получаю, это белый экран. Содержание добавляется, когда я даю ему кадр, как это:Невозможно использовать ограничения AutoLayout для UNNotificationContentExtension
import UIKit
import UserNotifications
import UserNotificationsUI
class NotificationViewController: UIViewController, UNNotificationContentExtension {
override func viewDidLoad() {
super.viewDidLoad()
let myView = UIView()
myView.backgroundColor = UIColor.red
myView.frame = CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
self.view.addSubview(myView)
}
func didReceive(_ notification: UNNotification) {
}
}
который выглядит следующим образом: Но когда я пытаюсь с помощью AutoLayout программно (с PureLayout обертке), используя этот код:
import UIKit
import UserNotifications
import UserNotificationsUI
class NotificationViewController: UIViewController, UNNotificationContentExtension {
override func viewDidLoad() {
super.viewDidLoad()
let myView = UIView()
myView.backgroundColor = UIColor.red
self.view.addSubview(myView)
myView.autoPinEdge(toSuperviewEdge: .top)
myView.autoPinEdge(toSuperviewEdge: .left)
myView.autoMatch(.width, to: .width, of: self.view)
myView.autoMatch(.height, to: .height, of: self.view)
}
func didReceive(_ notification: UNNotification) {
}
}
Что может заставить AutoLayout не работать в этом контроллере? Я также тестировал его с помощью интерфейса, поэтому я довольно смущен.
Это определенно то, что я пропустил, но это все еще не исправить проблему. Если я установил цвет фона self.view на черный, фон сделает то, что я ожидаю. Как только я добавляю одно ограничение в myView, я получаю пустой экран. – tdon