UIButtons 在横向和较小的设备上被挤压
Posted
技术标签:
【中文标题】UIButtons 在横向和较小的设备上被挤压【英文标题】:UIButtons squished on landscape and smaller devices 【发布时间】:2017-12-02 11:55:42 【问题描述】:我通过在垂直堆栈视图中嵌套水平堆栈视图来为我的应用程序构建 UI。在 iPhone 8 Plus 上,UIButton 以纵向和横向两种方式显示。下面是 iPhone 8 Plus 模拟器上的横向屏幕截图。
堆栈视图采用填充对齐和填充均匀分布。每个按钮的内容模式都设置为 Aspect Fit,当在较小的设备上进行测试时,UIButton 会被压扁并失去其纵横比。下面是 iPhone SE 模拟器上的横向屏幕截图。
如何防止图像被挤压?
【问题讨论】:
【参考方案1】:您可以通过编程方式设置 Image 并将按钮的 imageView 的 contentMode 设置为 center 或 aspectFit。
settingsButton.imageView?.contentMode = .center
settingsButton.setImage(UIImage.init(named: "imagename"), for: .normal)
或者您可以更改您的 UIButton 的约束,并为高度和宽度提供 1:1 的纵横比。
【讨论】:
愚蠢的问题,但我会在按钮所在的 viewController 上实现这种方法吗?我对此超级陌生。此外,当我在约束面板中使用纵横比选项时,堆栈视图会改变大小。不知道为什么。 我会将插座视为计算属性吗? 是的,只需为每个按钮设置一个单独的插座,并在 viewDidLoad 中设置图像,而不是在情节提要中。 知道了!谢谢你:)以上是关于UIButtons 在横向和较小的设备上被挤压的主要内容,如果未能解决你的问题,请参考以下文章