在消息扩展应用程序中使用Segues时,布局变得混乱.
有没有办法解决这个问题,同时仍然使用storrybord segues?
有没有办法解决这个问题,同时仍然使用storrybord segues?
截图:
(注意:第一个和第二个View / ViewController是相同的.segue类型无关紧要)
扩展的演示风格:
紧凑的演示风格:
更新1:
在segue之后,顶部和底部布局指南会重置
>紧凑:
> top:应该是:0但是:20
> bottom:应该是:44但是:0
>扩大:
> top:应该是:86但是:20
> bottom:应该是:44但是:0
附:有人可以创建一个新的“消息扩展”标签吗?
解决方法
我希望这并不总是必要的,但我最终使用约束出口,presentationStyle变量和viewDidLayoutSubviews()的组合来克服这个错误/疏忽.
在我的DetailViewController中:
@IBOutlet weak var myViewTopConstraint: NSLayoutConstraint! var presentationStyle: MSMessagesAppPresentationStyle? override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() if presentationStyle == .expanded { myViewTopConstraint.constant = 86 } else { myViewTopConstraint.constant = 0 } }
在我的MainViewController中:
override func willTransition(to presentationStyle: MSMessagesAppPresentationStyle) { if let detailController = presentedViewController as? DetailViewController { detailController.presentationStyle = presentationStyle } }
如果它有所不同,我的segue会以模式形式呈现为Page Sheet.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。