按钮在旋转时消失

buttons disappear on rotation

我正在修改现有项目以允许屏幕旋转和多个设备,但每当我在模拟器中旋转屏幕时,按钮就会消失。从头开始的玩具示例有效,但不适用于活动项目。什么事情会导致这种情况?一切都在带有自动布局的情节提要中。

很可能是您的布局限制在屏幕旋转时将按钮推离了屏幕。例如,如果您的按钮设置在距上边距 400 点的位置,并且您旋转高度为 320 的屏幕,则您的按钮可能位于屏幕外 y 坐标中的 400 点处。

尝试使用 iOS 模拟器的调试视图层次结构工具。使用它来检查按钮是否在屏幕之外。如果是这样,您将不得不编辑您的布局约束。

首先根据您的问题,您必须检查您的应用程序是否正在使用大小 class,另一件事请检查在更改方向时约束是否被破坏。

它的问题不打破约束遵循以下程序。但是,如果您可以看到如下图所示的内容,那么您只需要更改约束即可。

其次,如果不是,则需要通过 selecting Main.storyboard 或 ViewController.xib.

使用大小 class

然后您需要转到文件检查器并select 使用Class下面的使用自动布局 .

对于方向尺寸class的多设备申请就派上用场了。

请看下面的图片。

没有大小的应用程序class

结果 UI 将如何显示在设备中。

正在文件检查器中启用大小 Class。

一旦您进行了更改,现在 ViewController 将能够根据不同方向的设备更改约束。

wAny-hAny 大小 Class - 所有设备都可以显示横向或纵向视图。添加此大小 class 的所有必需控件。

wCompact-hRegular 尺寸 Class - 仅适用于纵向模式下的所有 iPhone。如果您添加了此尺寸 class 的任何控件,则当应用程序处于横向模式且 iPad 时也不会显示该控件。

wAny-hCompact 尺寸 Class - 仅适用于横向模式的所有 iPhone。如果您添加了此尺寸 class 的任何控件,则当应用程序处于纵向模式且 iPad 时也不会显示该控件。

在设备或模拟器中显示的最终结果。其中标签仅在纵向模式下显示,在横向模式下不可见。

结论。要在横向模式下显示标签,您需要添加 wAny-hAny 大小 class 的标签,然后 更改纵向和横向模式的约束条件 . 对于 iPad 你可以使用 wRegular-hRegular.

希望对您解决问题有所帮助。