gpt4 book ai didi

iOS 布局 Xcode 8

转载 作者:行者123 更新时间:2023-11-29 00:38:36 25 4
gpt4 key购买 nike

所以我在主视图中有一个 View 和一个标签。 View 水平和垂直居中。目前标签设置为距屏幕顶部 60 像素。然而在 iPhone 4S 上它看起来很糟糕。标签离 View 太近了。

我尝试将其设置为仅在 iPhone 4S 上距顶部 30 像素,但我想我正在调整尺寸类别,而不仅仅是那一台设备。

所以我的问题是这样的。首先,有什么好的方法可以针对特定设备调整我的布局吗?其次,有没有一种方法可以使该标签在屏幕顶部和 View 顶部之间居中?

也仅供引用,这都是垂直方向。

最佳答案

您通常希望避免为特定设备添加布局约束。尺寸等级和方向更好,因为它们更灵活。但是,如果你真的需要这样做(在某些情况下,如果你有一个非常具体的布局,这可能是不可避免的),那么你可以使用 UIDevice 和其他一些机制来做到这一点(包括简单地获取屏幕的大小并将它与已知高度进行比较,在本例中为 480 点。在设置约束并相应地更改它们时,只需在 if 语句中使用此代码即可。你做需要在代码中设置约束才能使其正常工作。

关于你的第二个问题,有几种方法可以让 View 居中,最常见的是使用 UILayoutGuide(或者如果你支持

// Assuming you have a view called topView, a root view which are already configured and a myLabel view, this code only covers the vertical aspect of the layout

let guide1 = UILayoutGuide()
view.addLayoutGuide(guide1)
let guide2 = UILayoutGuide()
view.addLayoutGuide(guide2)

// space above the label
guide1.topAnchor.constraint(equalTo: topView.bottomAnchor).isActive = true
// space below the label
guide2.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
// make the spaces equal
guide1.heightAnchor.constraint(equalTo: guide2.heightAnchor).isActive = true

myLabel.topAnchor.constraint(equalTo: guide1.bottomAnchor).isActive = true
myLabel.bottomAnchor.constraint(equalTo: guide2.topAnchor).isActive = true

关于iOS 布局 Xcode 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40032971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com