Ios iphonex中的对齐问题

Ios iphonex中的对齐问题,ios,iphone,uiviewcontroller,avplayer,iphone-x,Ios,Iphone,Uiviewcontroller,Avplayer,Iphone X,在我的应用程序中,我有一个屏幕,屏幕顶部包含关闭按钮,底部包含程序信息,以及与安全区域相关的尾随、前导、底部和顶部约束 按钮宽度和高度为1:1。程序信息区域高度为视图高度的0.25。在运行时,在屏幕上添加AVPlayServiceWController视图,其高度为self.view的75%。在除iPhone X以外的所有设备上都可以正常工作。如果我在横向启动应用程序,则对齐效果良好,如果我更改方向,则可以看到44像素的X值。若我先在纵向中启动应用程序,那个么纵向方向值是正确的,若我将方向更改为

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

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


[![enter image description here][1][1]

我想您的问题在于您定义了百分比约束,这可能是一个问题。旋转屏幕时,中间部分可能太小。您是否尝试过在interface builder中旋转布局以查看发生了什么?在interface builder中定义带有约束的布局相对容易,您也可以测试布局

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

如果需要以编程方式设置约束,则应在interface builder中进行测试设置,并在程序代码中实现良好的设置(当一切按计划进行时)

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


请尝试去掉此复选框并重试。

请尝试为您的程序信息高度设置一个固定值。(例如,用260px替换25%)。嗨,格雷戈里,这对我没有帮助。Frame的变化如下: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个像素。在interface builder(故事板)中,我检查了所有方向,它在设备或模拟器中工作正常。你能上传你的项目吗?如果不是秘密?或者仅仅是故事板文件?您好,请看如何发送故事板。我用viewwill转换代码更新了我的问题。帧的变化如下po self->livePlayer.contentOverlayView.Frame(原点=(x=0,y=0),大小=(宽度=812,高度=375))(lldb)po占位符.Frame(原点=(x=0,y=44),大小=(宽度=812,高度=297))(lldb)po containerView.frame(原点=(x=0,y=44),尺寸=(宽度=812,高度=297))