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

标签 ios swift uibutton

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

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

附上图片供引用。

ButtonBackgroundPortrait

ButtonBackgroundLandscape

最佳答案

在您的情况下,问题是按钮被压入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)

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

Bottom Layout Guide.top = Click Here.bottom + 304

关于ios - 当我从纵向模式更改为横向模式时,按钮背景图像消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48538321/

相关文章:

iphone - NSManagedObject、NSManagedObjectContext 和 NSManagedObjectModel 之间的区别

ios - Swift 可选错误

ios - UIButton 导致崩溃

ios - 创建 UIButtons 的列表/表

swift - 如何分层 UIButtons 和 SpriteNodes

ios - 约束导致显示器上出现黑点

iOS 8.4 特定 : AVPlayer not playing both video & audio and no errors

swift - 将自定义属性添加到自定义类并初始化类

ios - 如何在xcode中禁用inter audio app

ios - 加载自己的 ca 证书时,Swift 2.0 中 SecTrustEvaluate 调用上的 EXC_BAD_ACCESS