当我从纵向模式更改为横向时,按钮背景图像消失

Posted

技术标签:

【中文标题】当我从纵向模式更改为横向时,按钮背景图像消失【英文标题】:Button background image disappears when I change from portrait mode to landscape 【发布时间】:2018-01-31 09:08:37 【问题描述】:

我在按钮中插入了背景图片,使其看起来整洁。

但是当我将设备从纵向模式旋转到横向模式时,按钮的背景图像会消失。

附上图片供参考。

【问题讨论】:

添加你使用的代码 横向模式下你检查按钮的宽度了吗? 你需要添加你用于按钮背景的代码 横向模式下如何查看宽度? 另外......如何准确地实现代码而不会出现任何错误:) 【参考方案1】:

在您的情况下,问题是按钮被按下height = 0,因为您对按钮有这两个约束:

clickHere.centerYAnchor.constraint(equalTo: self.view.centerYAnchor)

clickHere.bottomAnchor.constraint(equalTo: self.bottomLayoutGuide.topAnchor, constant: 304)

在横向中,按钮的 centerY 比 304 + buttonHeight 更靠近底部,因此自动布局将按钮按到 height = 0 以尽可能接近满足约束。由于按钮的高度由按钮的固有大小设置,因此其优先级低于约束的优先级。

在您的情况下,解决方案非常简单,只需删除第二个约束:

clickHere.bottomAnchor.constraint(equalTo: self.bottomLayoutGuide.topAnchor, constant: 304)

在您的故事板屏幕截图中,它位于约束列表的底部,其名称为

底部布局 Guide.top = 点击此处.bottom + 304

【讨论】:

以上是关于当我从纵向模式更改为横向时,按钮背景图像消失的主要内容,如果未能解决你的问题,请参考以下文章

当方向从横向更改为纵向时,UInavigationbar 背景图像无法正确调整大小

从右横向直接更改为横向左

在自动布局中方向更改为横向时隐藏视图

UIImage 方向问题

主视图控制器在点击项目并快速将方向从纵向更改为横向后消失

UNITY 2D 改变旋转使按钮变大