gpt4 book ai didi

ios - 标签顶部对齐

转载 作者:搜寻专家 更新时间:2023-11-01 07:08:32 27 4
gpt4 key购买 nike

我正在尝试将温度放入我的应用程序中。我想这样展示它: enter image description here

但我所能得到的是:

enter image description here

我尝试使用这段代码来对齐顶部的两个标签:

@IBDesignable class TopAlignedLabel: UILabel {
override func drawText(in rect: CGRect) {
if let stringText = text {
let stringTextAsNSString = stringText as NSString
let labelStringSize = stringTextAsNSString.boundingRect(with: CGSize(width: self.frame.width,height: CGFloat.greatestFiniteMagnitude), options: NSStringDrawingOptions.usesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil).size
super.drawText(in: CGRect(x:0,y: 0,width: self.frame.width, height:ceil(labelStringSize.height)))
} else {
super.drawText(in: rect)
}
}
}

它适用于“°C”,但不适用于 25。有人可以帮我找到解决问题的方法吗?

最佳答案

解决这个问题的一个非常简单的方法是使用属性字符串:

let tempText = "25˚C"
let baseFont = UIFont.systemFont(ofSize: 23.0)!
let superscriptFont = UIFont.systemFont(ofSize: 15.0)!
let attrStr = NSMutableAttributedString(string: tempText, attributes: [NSFontAttributeName: baseFont])
attrStr.addAttributes([NSFontAttributeName: superscriptFont, NSBaselineOffsetAttributeName: 10.0], range: NSMakeRange(2,2))

myLabel.attributedText = attrStr

您可以使用 addAttributes 方法在您想要的任何范围内添加更多不同的属性。

关于ios - 标签顶部对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46526442/

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