如果更改屏幕方向,如何修复按钮大小?

Posted

技术标签:

【中文标题】如果更改屏幕方向,如何修复按钮大小?【英文标题】:How to fix button size if changing screen orientation? 【发布时间】:2019-11-11 01:55:50 【问题描述】:

我有这个应用程序,其中需要更改屏幕方向。第一张图片是纵向的,第二张图片是横向的。但是在某些情况下,当我将方向从横向更改为纵向时,两 (2) 个按钮会变大。第三张图片将向您显示更改方向后按钮的大小,即它不遵循正确的纵向布局。

肖像

风景

改变方向时按钮变大

我尝试的解决方案如下图:

附加等高

设置为 0.18 比例高度

我很难解决这个问题,这是我第一次遇到这个问题,这个问题不是 100% 出现的,而且这个问题通常出现在 iPhoneX 系列,特别是 iPhoneX 中。希望你能帮助我解决这个问题。提前谢谢你。

【问题讨论】:

您是否使用任何尺寸等级? 不,我只是依赖约束中的设置大小 尝试提高内容拥抱优先级 我会在哪一部分增加Content Hugging Priority? 很抱歉刚刚意识到您在谈论按钮内容拥抱无济于事。 【参考方案1】:

始终使用大小类来处理不同屏幕中的对象。 或者另一种选择是使用堆栈。 但尺寸等级始终是最佳选择。

【讨论】:

【参考方案2】:

对特征(大小类)使用变化,并为每个按钮的不同方向提供宽度和高度约束。

【讨论】:

你可以参考这个问题-***.com/questions/39890055/…

以上是关于如果更改屏幕方向,如何修复按钮大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 espresso 更改应用程序屏幕方向

UICollectionView invalidateLayout 不会在屏幕方向更改时触发 sizeForItem

屏幕方向更改后继续活动 - Android

修复平板电脑和手机上的屏幕方向

嵌套集合视图单元格未在方向更改时调整大小

方向更改会增加TextView的文本大小