Обновленная версия рисования текста с UIGraphicsImageRender

Использование Swift 5, iOS 14

Я собрал этот код для записи текста в изображение с помощью UIGraphicsImageRenderer.

Это работает, но мне интересно, смешиваю ли я здесь старое с новым. Возможно, есть лучший способ сделать это, не используя NSAttributedStrings, которые наверняка станут устаревшими в ближайшие год или два.

      func returnTile(text: String) -> UIImage {
  let renderer = UIGraphicsImageRenderer(size: CGSize(width: 64, height: 128))
  return renderer.image { (context) in
    context.cgContext.setStrokeColor(UIColor.white.cgColor)
    context.stroke(CGRect(x: 0, y: 0, width: 64, height: 128))

    let attributes = [
      NSAttributedString.Key.font : UIFont.preferredFont(forTextStyle: .body),
      NSAttributedString.Key.foregroundColor : UIColor.white
    ]
    text.draw(in: CGRect(x: 32, y: 64, width: 64, height: 128), withAttributes: attributes)
    }
  }

0 ответов

Другие вопросы по тегам