AutoLayout 的按钮彼此重叠
AutoLayout has buttons on top of each other
我在 iPad 应用程序中对我的 UIButtons 进行了限制,以便顶行按钮与 UIImageView 保持一定距离,因此底行按钮保持固定在非常靠近底部的位置。但是,当我旋转时,一切都出错了。这是纵向和横向时的图像。考虑到横向模式下的垂直空间较少,如何解决这个问题?
您需要在旋转时缩放子视图的大小,或者使用滚动视图。
因为您将按钮放置在距离屏幕底部一定距离而不是保持一致的间距,所以当 space 可用时它们会重叠。 (我从你的截图中假设它打破了两行按钮之间的约束,假设有一个)
您可以将每行按钮的可用 space 与主视图的总垂直尺寸相关联。例如,让图像占总垂直 space 的 50%,每行按钮占 25%(我会为每一行设置一个容器视图,然后向容器添加约束)。请确保您的 images/buttons 正确缩放并保持其纵横比。
另一种选择可能是识别视图何时旋转,并修改所有约束,以便您的按钮全部布局在一行中,但这可能涉及 swap/change 大部分代码你的约束。
我在 iPad 应用程序中对我的 UIButtons 进行了限制,以便顶行按钮与 UIImageView 保持一定距离,因此底行按钮保持固定在非常靠近底部的位置。但是,当我旋转时,一切都出错了。这是纵向和横向时的图像。考虑到横向模式下的垂直空间较少,如何解决这个问题?
您需要在旋转时缩放子视图的大小,或者使用滚动视图。
因为您将按钮放置在距离屏幕底部一定距离而不是保持一致的间距,所以当 space 可用时它们会重叠。 (我从你的截图中假设它打破了两行按钮之间的约束,假设有一个)
您可以将每行按钮的可用 space 与主视图的总垂直尺寸相关联。例如,让图像占总垂直 space 的 50%,每行按钮占 25%(我会为每一行设置一个容器视图,然后向容器添加约束)。请确保您的 images/buttons 正确缩放并保持其纵横比。
另一种选择可能是识别视图何时旋转,并修改所有约束,以便您的按钮全部布局在一行中,但这可能涉及 swap/change 大部分代码你的约束。