ios - 如何在 Xcode 中正确设置 UIButtons(图像)的约束?
问题描述
背景:
我正在为我在 Xcode 中构建的游戏创建商店,使用 SceneKit 用于游戏,SpriteKit 用于叠加,UIKit 用于商店以及我可能创建的任何其他非叠加视图。我有 9 个按钮,所有按钮的默认尺寸都是 700x700,在情节提要中按比例缩小到 90x90。我试图让它们中的所有 9 个都以 3x3 格式显示,该格式会根据用户拥有的屏幕调整大小和空间。
注意: contentView 是一个带有浅蓝色背景的 UIView,其中包含我所有的按钮。
(图 1)我希望它在所有屏幕上的样子(减去蓝色轮廓): https ://prnt.sc/ndzqbz
(图 2)在我设计的设备(Iphone 7 Plus)上的样子:http: //prntscr.com/ndzrkn
(图 3)它在不同设备上的样子(我垫 Pro 12.9inch 3rd gen): http ://prntscr.com/ndzrrh
问题:
我将如何使图像 2 和 3 更接近图像 1?
我已经浏览了大量的自动布局约束视频,并且在整个网络上都没有找到任何东西。每次我尝试某些东西时,它都会使图像 3更加混乱。 注意:图 3是我之前拥有的“清洁”版本,它曾经在不应该出现的任何地方都有各种不同形状和大小的按钮。
我还尝试了在 Swift 5.0 中解决此问题的编程方法:
代码:
func setupButtons() {
player_button.frame = CGRect(x: contentView.self.frame.midX, y: contentView.self.frame.midY, width: 200, height: 200)
}
我认为它会做的是将我的按钮放在视图的中间并增加按钮的大小。它确实增加了我的按钮的大小,但是在 Ipad 屏幕上,它把它定位在了这里:http ://prntscr.com/ndzxgo ,它不在我想要的 contentView 的中间。它似乎所做的是采用 contentViews 的原始大小并使用它。我似乎也无法让它在应用约束的情况下获取 contentView 的大小(我确实碰巧让我的 contentViews 约束在大多数情况下工作。)。
其他需要考虑的事项:
• 我尝试调整图像大小并将它们放入堆栈视图 - 我无法让它工作
感谢您的任何反馈!
解决方案
推荐阅读
- flutter - Flutter QR 结果传递
- c# - Azure SDK .NET 身份验证问题(ServicePrincipalLoginInformation 应包含有效的 ClientId 信息)
- reactjs - Magic Link 电子邮件身份验证发送多个请求
- gitlab - 如何在管道内推送后不触发管道
- javascript - jQuery UI Resizable 永远不会达到设置宽高比的全宽
- javascript - ContextMenu 没有显示在使用 jquery 的可滚动 div 中的正确位置?
- docusignapi - 如何更改根 Docusign 帐户信息
- python - 拟合“LightFM”推荐器后如何获取项目特征的权重?
- bash - 如何通过 Telegraf 监控文件大小波动
- r - 将不同群体的个人分配到承载能力有限的房屋中,应用不同的概率