WKInterfaceLabel 属性字符串在宽度上失败
WKInterfaceLabel Attributed String Fails on Width
我正在使用属性字符串来删除 WKInterfaceLabel
中的文本。这一直有效,直到文本长于手表的宽度,因此您看到 ...
实际上,同样的事情发生在 iOS 上;但是,您可以剪辑解决问题的内容。在手表上,剪辑不可用。
当总宽度超出屏幕范围时,如何删除可见文本?下面是代码:
let attributedString = NSMutableAttributedString(string: self.fileTextArray[i])
attributedString.addAttribute(NSStrikethroughStyleAttributeName, value: NSNumber(value: NSUnderlineStyle.styleThick.rawValue), range: NSMakeRange(0, attributedString.length))
attributedString.addAttribute(NSStrikethroughColorAttributeName, value: UIColor.red, range: NSMakeRange(0, attributedString.length))
row.translatedTextLabel.setAttributedText(attributedString)
这似乎是一个错误,但有解决方法。解决方法是使用以下代码行:
attributedString.addAttribute(NSBaselineOffsetAttributeName, value: 0, range: NSMakeRange(0, attributedString.length))
这解决了 Watch OS 和 iOS 中的问题。
此处的其他详细信息:
我正在使用属性字符串来删除 WKInterfaceLabel
中的文本。这一直有效,直到文本长于手表的宽度,因此您看到 ...
实际上,同样的事情发生在 iOS 上;但是,您可以剪辑解决问题的内容。在手表上,剪辑不可用。
当总宽度超出屏幕范围时,如何删除可见文本?下面是代码:
let attributedString = NSMutableAttributedString(string: self.fileTextArray[i])
attributedString.addAttribute(NSStrikethroughStyleAttributeName, value: NSNumber(value: NSUnderlineStyle.styleThick.rawValue), range: NSMakeRange(0, attributedString.length))
attributedString.addAttribute(NSStrikethroughColorAttributeName, value: UIColor.red, range: NSMakeRange(0, attributedString.length))
row.translatedTextLabel.setAttributedText(attributedString)
这似乎是一个错误,但有解决方法。解决方法是使用以下代码行:
attributedString.addAttribute(NSBaselineOffsetAttributeName, value: 0, range: NSMakeRange(0, attributedString.length))
这解决了 Watch OS 和 iOS 中的问题。
此处的其他详细信息: