gpt4 book ai didi

iOS UILabel 大小问题

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:53 25 4
gpt4 key购买 nike

我在写问题之前搜索了 4 个小时,我在网上看到的答案都没有解决这个问题。

我正在开发一个 iOS 应用程序,在 Storyboard中,当我使用 UILabel 时,无论我做什么,顶部总是有额外的填充,这给我带来了一个大问题,因为我正在尝试拥有像素完美的设计。

我仍然不明白这是从哪里来的,我尝试使用纯文本,我尝试了属性字符串,两者仍然提供了额外的填充:

截图: http://imgur.com/Fldcodl

我尝试使用以下内容对标签进行子类化:

var textInsets = UIEdgeInsets.zero {
didSet { invalidateIntrinsicContentSize() }
}


override var bounds:CGRect {
get {
return super.bounds
}
set {
super.bounds = newValue
if (self.preferredMaxLayoutWidth != super.bounds.size.width) {
self.preferredMaxLayoutWidth = super.bounds.size.width;
self.setNeedsUpdateConstraints()
}

}
}

override func textRect(forBounds bounds: CGRect, limitedToNumberOfLines numberOfLines: Int) -> CGRect {
let insetRect = UIEdgeInsetsInsetRect(bounds, textInsets)
let textRect = super.textRect(forBounds: insetRect, limitedToNumberOfLines: numberOfLines)
let invertedInsets = UIEdgeInsets(top: -textInsets.top,
left: -textInsets.left,
bottom: -textInsets.bottom,
right: -textInsets.right)
return UIEdgeInsetsInsetRect(textRect, invertedInsets)
}

override func drawText(in rect: CGRect) {
super.drawText(in: UIEdgeInsetsInsetRect(rect, textInsets))
}

即使将左上角右下角的值设置为 0,我仍然会遇到这个烦人的顶部填充。

知道如何解决这个问题吗?

谢谢!

最佳答案

假设您想要删除标签周围的空白区域(您的问题并不完全清楚)。

您的标签有黄色背景,您要删除的边距在标签之外,因此再多的子类化也无法删除它。

将标签添加到屏幕的方式(在代码或 Interface Builder 中,通过约束或框架)定义了这些边距,也就是您需要调整以固定边距的方式。

关于iOS UILabel 大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40986469/

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