gpt4 book ai didi

ios - 为什么在更改演示文稿样式时我的 View 会发生偏移?

转载 作者:行者123 更新时间:2023-11-29 11:56:54 24 4
gpt4 key购买 nike

我有一个 iMessage 扩展程序,但在更改演示文稿样式时遇到了一些问题。当我第一次打开应用程序时,我得到的是:enter image description here应该是这样。现在,当我更改为扩展的演示样式时,这就是我得到的:enter image description here这也是我想要的。但是,当我切换回紧凑型时,会发生这种情况:enter image description here这是我的代码:

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)
}

这是我的最高约束的屏幕截图:enter image description here

最佳答案

在我看来,您不应该在每次切换到紧凑或扩展模式时都重新实例化该栏。您应该实例化一次,然后将约束设置到 View 的顶部。我已经尝试过这种方式并且工作正常;)

所以总结一下,如果你正在使用 Storyboard

  1. 在你的 Storyboard中将你的 subview 添加到 Controller
  2. 设置一个Top约束,宽度等于superview,centerX为superview
  3. 在代码中,在 viewdidload 中设置您的搜索栏(委托(delegate)等)

如果您没有使用 Storyboard。

  1. 加载你的 xib 并将其添加到你的 subview (可能在 didBecomeActive 或类似的东西中)
  2. 不要忘记将 translatesAutoresizingMaskIntoConstraints 设置为 false
  3. 添加与上面相同的约束条件

关于ios - 为什么在更改演示文稿样式时我的 View 会发生偏移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38705373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com