gpt4 book ai didi

ios - Swift 3 - 为每个设备设置 X-Y 轴 UILabel

转载 作者:行者123 更新时间:2023-11-28 09:24:56 25 4
gpt4 key购买 nike

我已经标记并给出了 X-Y 轴的值,但我的值没有将标签放在每个设备的中心,如果设备很大,我写了宽度大小的方法设置宽度大小 50,否则更小,但这个方法不是在 iPhone SE、5S/5、6/6s/7 上工作,只在 iPhone 6+/6S+/7+ 上工作!!比如像这样

enter image description here

那么有什么问题,我应该添加哪些内容??

let lengthOfChar : CGFloat = data.ans.length // Characters form SQLite database
let yAxis : CGFloat = self.view.frame.height / 3 * 1.8
let width: CGFloat = view.frame.size.width - 40 // frame width
var targetWidth: CGFloat = (width - (lengthOfChar - 1) * 5) / lengthOfChar

if targetWidth > 50 {
targetWidth = 50
}

let totalWidth: CGFloat = (targetWidth * lengthOfChar) + ((lengthOfChar - 5) * 5)
let x : CGFloat = (width / 2) - (totalWidth / 2)
let xx : CGFloat = (CGFloat(indexTar) * targetWidth) + (CGFloat(indexTar) * 5) + 20
var xAxis : CGFloat = (x + xx)
xAxis = width - xAxis

最佳答案

我正在使用一个帮助程序枚举,它允许为某些 iPhone 执行自定义操作。在下面设置enumusage

使用以下代码添加一个新类:

enum DeviceType: Int {
case iPhone4 = 1
case iPhone5
case iPhone6
case iPhone6Plus
case iPad

init(userInterfaceIdiom: UIUserInterfaceIdiom, screenHeight: CGFloat) {
switch (userInterfaceIdiom, screenHeight) {
case (.phone, 0..<568.0):
self = .iPhone4
case (.phone, 568.0..<667.0):
self = .iPhone5
case (.phone, 667.0..<736.0):
self = .iPhone6
case (.phone, 736.0..<CGFloat.infinity):
self = .iPhone6Plus
case (.pad, _):
self = .iPad
default:
self = .iPhone6
}
}

func isSameOrSmaller(than deviceType: DeviceType) -> Bool {
return self.rawValue <= deviceType.rawValue
}
}

用法:

if UIDevice.current.type().isSameOrSmaller(than: .iPhone5) {
// Do what you need
}

关于ios - Swift 3 - 为每个设备设置 X-Y 轴 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45486236/

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