我有一个iMessage扩展,我在更改演示文稿样式时遇到了一些问题。当我第一次打开应用程序时,我得到的是: 应该是这样的。现在当我改为扩展的演示风格时,这就是我得到的: 这也是我想要的。但是,当我切换回压缩时,会发生这种情况: 这是我的代码:
override func didTransition(to presentationStyle: MSMessagesAppPresentationStyle) {
super.didTransition(to: presentationStyle)
presentSearchStickersView()
}
private func presentSearchStickersView() {
let controller = (storyboard?.instantiateViewController(withIdentifier: "SearchStickersViewController"))! as! SearchStickersViewController
controller.view.backgroundColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
controller.searchDelegate = self
for child in childViewControllers {
child.willMove(toParentViewController: nil)
child.view.removeFromSuperview()
child.removeFromParentViewController()
}
self.addChildViewController(controller)
self.view.addSubview(controller.view)
}
答案 0 :(得分:1)
在我看来,每次切换到压缩或扩展模式时都不应重新实现条形。您应该将其实例化一次,然后将约束设置到视图的顶部。我试过这种方式并且工作正常;)
总而言之,如果您正在使用故事板
如果您不使用故事板。
答案 1 :(得分:0)
正如RomOne所说,你应该把它放在那里一次。样式开关应由约束
处理