相关疑难解决方法(0)

如何查找UILabel的实际行数?

在用a 和a 初始化之后,如何找到a的实际行数?我已将其属性设置为,因此它将扩展到需要许多行.但是,我如何才能找到它设置后最终获得了多少行?UILabeltextfontnumberOfLines0text

我发现了类似的问题,但似乎没有一个提供简洁的答案,在我看来,在没有任何开销的情况下得到它一定非常容易,boundingRectWithSize或者sizeWithFont......

uilabel ios

60
推荐指数
10
解决办法
5万
查看次数

如何为`UILabel`设置字符(kern)和删除线样式之间的间距?

我需要为一个文本设置两个属性UILabel:a .字母间隔(kern)和它的删除线样式.根据NSAttributedStringKey文档,我创建了以下扩展UILabel:

extension UILabel {
    func setStrikeThroughSpacedText(text: String, kern: CGFloat?) {
        var attributes: [NSAttributedStringKey : Any] = [:]
        if let kern = kern {
            attributes[.kern] = kern
        }
        attributes[.strikethroughStyle] 
                  = NSNumber(integerLiteral: NSUnderlineStyle.styleSingle.rawValue)
        self.attributedText = NSAttributedString(string: text,
                                                 attributes: attributes)
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,似乎.kern键以某种方式与键碰撞.strikethroughStyle,因为如果我指定kern,则应用kern,但不应用删除线样式.如果我没有指定kern(因此扩展名不应用该.kern属性),删除线样式将起作用.

任何人都有不同的方法来解决这个错误(我认为这是一个错误)?

nsattributedstring ios swift ios10 swift4

5
推荐指数
1
解决办法
2647
查看次数

标签 统计

ios ×2

ios10 ×1

nsattributedstring ×1

swift ×1

swift4 ×1

uilabel ×1