ios – 为和弦和歌词歌词Textview或UiLabel Swift格式化文本

任何人都可以给我一些关于如何在textview或标签中实现,为和弦和歌词格式化文本的技巧?下面的那种形象?

《ios – 为和弦和歌词歌词Textview或UiLabel Swift格式化文本》

最佳答案 你和我一样有同样的挑战.每当我在我的歌词中找到[G]或[Em]时,我正在考虑在CATextLayer对象上绘制文字:“[G]我今天读了[Bm]新闻,哦[Em] boy,[Em7] “

func drawLayer(_ chord: String, frame: CGRect) {
    let textLayer = CATextLayer()
    textLayer.frame = frame

    let myAttributes = [
        NSFontAttributeName: UIFont(name: "Helvetica", size: 13.0) , // font
        NSForegroundColorAttributeName: UIColor.cyan                    // text color
    ]
    let myAttributedString = NSAttributedString(string: chord, attributes: myAttributes )

    textLayer.string = myAttributedString
    lyricView.layer.addSublayer(textLayer)
}

困难的部分是确定每个单独和弦的位置,你必须在它的歌词顶部指定它的位置. (我仍在寻找获得x& y位置的最佳方法)

点赞