【问题标题】:Alignment issues in iPhone XiPhone X 中的对齐问题
【发布时间】:2019-01-27 08:39:09
【问题描述】:

在我的应用程序中,我有一个屏幕,其中包含顶部的关闭按钮和底部的程序信息,以及与安全区域相关的尾随、前导、底部和顶部约束。

按钮的宽度和高度是 1:1。节目信息区域高度为视图高度的 0.25。在运行时在屏幕上添加 avplayerviewcontroller 视图,其高度为 self.view 的 75%。它在除 iPhone X 之外的所有设备上都可以正常工作。如果我以横向启动应用程序,则对齐很好,如果我改变方向,我可以看到 44 像素为 x价值。如果我首先以纵向启动应用程序,那么如果我将方向更改为横向,则纵向值是正确的,则添加 44 像素顶部(y)值。我不知道如何解决这个问题。请指导我。

[![在此处输入图片描述][1]][1]

【问题讨论】:

  • 请尝试为您的程序信息高度设置一个固定值。 (例如,将 25% 替换为 260 像素)。
  • 嗨,格雷戈里,这对我没有帮助。帧像这样改变 po self->livePlayer.contentOverlayView.frame (origin = (x = 0, y = 0), size = (width = 812, height = 375)) (lldb) po placeHolder.frame (origin = ( x = 0, y = 44), size = (width = 812, height = 297)) (lldb) po containerView.frame (origin = (x = 0, y = 44), size = (width = 812, height =第297章)
  • 在改变方向时会增加额外的 44 个像素。

标签: ios iphone uiviewcontroller avplayer iphone-x


【解决方案1】:

我猜你的问题是你已经以百分比定义了约束,这可能是一个问题。旋转屏幕时,中间部分可能太小。您是否尝试过界面生成器中的旋转布局以查看发生了什么?在界面构建器中定义带有约束的布局相对容易,您也可以测试布局。

如果您以编程方式设置约束,则很难找出哪里出错了。如果你有一个模棱两可的约束,整个屏幕可能会很奇怪。

如果您需要以编程方式设置约束,您应该在界面生成器中进行测试设置,并在程序代码中实现良好的设置,当一切都按计划进行时。

我检查了您的故事板,我认为问题可能是您定义了两个安全区域。一个在 containerview 之外,一个在里面。您放入容器视图中的内容可能会错误地计算内部的约束。

试着去掉这个复选框,然后再试一次。

【讨论】:

  • 在界面生成器(情节提要)中,我检查了所有方向,它在设备或模拟器中都工作正常。
  • 你能上传你的项目吗?如果不是秘密?还是只是故事板文件?
  • 嗨 Endre 如何发送故事板。
  • 我用 viewwill 转换代码更新了我的问题。
  • 帧像这样改变 po self->livePlayer.contentOverlayView.frame (origin = (x = 0, y = 0), size = (width = 812, height = 375)) (lldb) po placeHolder.frame (origin = (x = 0, y = 44), size = (width = 812, height = 297)) (lldb) po containerView.frame (origin = (x = 0, y = 44), size = (宽度 = 812, 高度 = 297))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-11
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 2018-03-07
相关资源
最近更新 更多