UIButtons在景观和较小的设备上挤压

时间:2017-12-02 11:55:43

标签: ios xcode uibutton autolayout uistackview

我通过在垂直堆栈视图中嵌套水平堆栈视图为我的应用程序构建了UI。在iPhone 8 Plus上,UIButtons的设计在纵向和横向方向都有所体现。以下是iPhone 8 Plus模拟器上横向的屏幕截图。

iPhone 8 Pls landscape

堆栈视图采用填充对齐和填充均等分布。每个按钮的内容模式设置为Aspect Fit,当在较小的设备上进行测试时,UIButtons会变得模糊,并且会失去纵横比。以下是iPhone SE模拟器上横向方向的屏幕截图。

iPhone SE landscape

如何防止图像变暗?

1 个答案:

答案 0 :(得分:1)

您可以通过编程方式设置图像,并将按钮的imageView 的 contentMode设置为center或aspectFit。

settingsButton.imageView?.contentMode = .center
settingsButton.setImage(UIImage.init(named: "imagename"), for: .normal) 

或者您可以更改UIButton的约束,并为高度和宽度提供1:1的宽高比。