Свифт не перекрашиваю CATextLayer - PullRequest
0 голосов
/ 06 апреля 2020

Я использую расширение кнопки для реализации моего собственного метода в UIButton, и создаю CATextLayer для добавления еще 1 текста в кнопку, но где я вызываю этот метод с другими аргументами (Текст), предыдущий текст все еще стоит за новым текстом и снова и снова. Мне нужно перекрасить мою кнопку без стековых текстов (вызовите метод с новым текстом и будет только новый текст)

extension UIButton{

    func spordAcceptButAction(c_one: UIColor, c_two: UIColor, corner: Int, w: Int, number: Int, gradientLayer:CAGradientLayer){

        var textLayer: CATextLayer!

        let startFontSize: CGFloat = 60

        let startPosition: CGPoint = CGPoint(x: 0, y: 0)


        // Do any additional setup after loading the view, typically from a nib.
        // let gradientLayer = CAGradientLayer()
        textLayer = CATextLayer()
        textLayer.alignmentMode = CATextLayerAlignmentMode.left
        textLayer.anchorPoint = CGPoint(x: 0, y: 0)
        textLayer.bounds.size = CGSize(width: 100, height: 100)
        textLayer.contentsScale = UIScreen.main.scale
        textLayer.font = UIFont.systemFont(ofSize: startFontSize, weight: UIFont.Weight.semibold)
        textLayer.fontSize = startFontSize
        //  textLayer.backgroundColor = #colorLiteral(red: 0.521568656, green: 0.1098039225, blue: 0.05098039284, alpha: 1)
        textLayer.isWrapped = true
        textLayer.position = startPosition
        textLayer.string = String(number)

введите описание изображения здесь

...