У меня есть расширение iMessage, и у меня есть некоторые проблемы с руководством по верху. У меня есть MSMessagesAppViewController
, который обрабатывает изменения между стилями презентации. В моем расширении у меня есть кнопка. Когда он нажимается, я перехожу к расширенному стилю презентации, а затем представляю контроллер вида по модулю. Вот в чем проблема: мой интерфейс во втором VC скрывается за верхней панелью навигации. Я подумал, что это странно, когда я устанавливаю свои ограничения в руководство по верху. Поэтому я прорыл свой код и начал отладку верхнего руководства по макету. Я заметил, что после перехода на расширенный стиль презентации, topLayoutGuide.length
= 86. Вот как это должно быть. Но когда я представляю второй контроллер представления по модулю, верхний направляющий лист сбрасывается на 0. Почему это не так, как должно быть? Вот мой код:Почему ведущий макет перемещается в моем расширении 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
}
Та же проблема [здесь] (http://stackoverflow.com/questions/38593054/ios-10-messages-extension-wrong-layout-when-using-storyboard-segue) – 123FLO321
Да, эта проблема здесь тоже, я думаю вы действительно должны поднять отчет об ошибке для Apple;) Я думаю, что мне скучно.^ – RomOne
Мое текущее обходное решение заключается в том, чтобы изменить верхнее ограничение макета на 66 в расширенном –