iOS标签大小问题

iOS标签大小问题,ios,iphone,swift,Ios,Iphone,Swift,我在写问题之前搜索了4个小时,在网上看到的答案都不能解决这个问题 我正在开发一个iOS应用程序,在故事板中,当我使用UILabel时,无论我做什么,顶部总是有额外的填充,这给我带来了一个大问题,因为我正在尝试一个像素完美的设计 我仍然不明白这是从哪里来的,我尝试了使用纯文本,我尝试了属性字符串,两者都提供了额外的填充: 截图: 我尝试使用以下内容对标签进行子分类: var textInsets = UIEdgeInsets.zero { didSet { invalidateIntri

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

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

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

截图:

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

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,我仍然会得到这种恼人的顶部填充

你知道怎么解决这个问题吗


谢谢

假设您希望删除标签周围的空白(您的问题不完全清楚)

您的标签有一个黄色的背景,您试图删除的边距在标签之外,所以再多的子类化都不会删除它


将标签添加到屏幕的方式(在代码或界面生成器中,通过约束或框架)是定义这些页边距的方式,这是您需要调整以固定页边距的方式。

假设您希望删除标签周围的空白(您的问题不完全清楚)

您的标签有一个黄色的背景,您试图删除的边距在标签之外,所以再多的子类化都不会删除它


将标签添加到屏幕的方式(在代码或界面生成器中,通过约束或框架)是定义这些页边距的方式,这是您需要调整以固定页边距的方式。

您是否尝试过sizeToFit?您不喜欢的是什么?我没有看到任何“顶部填充物”。@danh是的,没有work@matt黄色背景中的实际文本上方有4个点:)黄色背景是我添加的UILabel背景,让大家看看我在说什么。标签提供了一些前导空间。这是正常的。别担心,开心点。你试过sizeToFit吗?你不喜欢的是什么?我没有看到任何“顶部填充物”。@danh是的,没有work@matt黄色背景中的实际文本上方有4个点:)黄色背景是我添加的UILabel背景,让大家看看我在说什么。标签提供了一些前导空间。这是正常的。别担心,高兴点。谢谢你的回复,我添加了黄色背景,这样你们就可以看到我在说什么,不是空白,空白是视图,我的问题是在黄色文本上方有额外的空间。黄色是标签的背景,这是不需要的,我希望顶部正好停在文本边缘,没有额外的4个点。我改变了图片,现在我说的是哪个空间更清晰了。我猜谢谢你的回答,我添加了黄色背景,这样你们就可以看到我说的内容,这不是空白,空白是视图,我的问题是在黄色文本上方有额外的空间。黄色是标签的背景,这是不需要的,我希望顶部正好停在文本边缘,没有额外的4个点。我改变了图片,现在我想我说的是哪个空间更清晰了