2016-11-30 45 views

回答

1

你和我有同樣的挑戰。每當我在我的歌詞文本中找到[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的位置)

+0

你有沒有找到這方面的解決方案? –