我有一個iMessage擴展,並且在頂部佈局指南中遇到了一些問題。我有一個MSMessagesAppViewController
處理演示文稿樣式之間的變化。在我的擴展中,我有一個按鈕。當它被點擊時,我轉換到展開的演示樣式,然後以模態方式呈現視圖控制器。問題在於:第二個VC中的用戶界面隱藏在頂部導航欄後面。我認爲這很奇怪,因爲我將約束條件設置爲頂層佈局指南。所以我通過我的代碼挖掘並開始調試頂層佈局指南。我注意到,在我轉換到擴展的演示文稿樣式後,topLayoutGuide.length
= 86。這就是它應該如此。但是,當我以模態形式呈現第二個視圖控制器時,頂部佈局指南將重置爲0.爲什麼它不是86應該是?這裏是我的代碼:爲什麼頂部佈局指南在我的iMessage擴展中移動
在我的主要的viewController:
@IBAction func addStickerButtonPressed(_ sender: AnyObject) {
shouldPerformCreateSegue = true
theSender = sender
requestPresentationStyle(.expanded)
}
override func didTransition(to presentationStyle: MSMessagesAppPresentationStyle) {
if presentationStyle == .expanded {
if shouldPerformCreateSegue == true {
shouldPerformCreateSegue = false
performSegue(withIdentifier: "CreateStickerSegue", sender: theSender)//here is where I present the new viewController
} else {
searchBar.becomeFirstResponder()
searchBar.placeholder = nil
searchBar.showsCancelButton = true
searchBar.tintColor = UIColor.white
}
} else {
searchBar.showsCancelButton = false
}
print(topLayoutGuide.length) //This prints out 86
}
在其他模態呈現視圖控制器:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.view.addConstraint(navBar.topAnchor.constraint(equalTo: topLayoutGuide.bottomAnchor))
print(topLayoutGuide.length) //This prints out 0
}
同樣的問題[here](http://stackoverflow.com/questions/38593054/ios-10-messages-extension-wrong-layout-when-using-storyboard-segue) – 123FLO321
在這裏也是同樣的問題,我認爲你應該真的向蘋果提出錯誤報告;)我認爲他們感到厭倦了我的^^ – RomOne
我目前的解決方法是將頂部佈局約束更改爲66在展開 –