2
我試圖在iOS 10中添加一個自定義通知,該通知利用了強制按下豐富的通知。我想以編程方式將視圖添加到從UNNotificationContentExtension繼承的視圖控制器的中心,但我得到的只是一個白色屏幕。UNNotificationContentExtension不能使用AutoLayout約束
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) {
}
}
,看起來像這樣:當我給它這樣一個框架的內容添加 但是當我嘗試使用此代碼使用自動版式編程(與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