Attributed String em Swift: guia completo com exemplos de código

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Attributed String em Swift: quando o texto comum não é suficiente



Você já se perguntou por que em alguns aplicativos o texto parece uma folha cinza e chata, enquanto em outros parece uma obra de arte? O segredo é simples: attributed string. Esta é a ferramenta mais poderosa do desenvolvedor iOS, que permite controlar cada pixel do texto: cor, fonte, espaçamento, sombras e até links interativos.



Neste artigo, vamos explorar como criar NSAttributedString em Swift, como configurá-lo e onde aplicá-lo. Você aprenderá não apenas fatos secos, mas técnicas reais que tornarão seu aplicativo mais bonito e funcional. Vamos lá!



O que é Attributed String? O básico que você precisa saber



Em uma String clássica, todos os caracteres são iguais — uma fonte, uma cor, um tamanho. NSAttributedString (e sua versão mutável NSMutableAttributedString) é uma string onde cada caractere ou intervalo de caracteres pode ter seu próprio conjunto de atributos. Imagine escrever a palavra "Olá": a letra "O" é vermelha e negrito, "l" é azul e itálico, e assim por diante. Parece mágica? Não, é simplesmente Swift attributed string.



Onde isso é usado em aplicativos reais?

  • Editores de texto (destaque em negrito, itálico)
  • Redes sociais (menções @username clicáveis e destacadas em cores)
  • Aplicativos de chat (cores diferentes para usuários diferentes)
  • Livros eletrônicos (fontes diferentes para títulos e citações)
  • Qualquer interface onde o texto não é apenas texto, mas um elemento de design


Como criar NSAttributedString em Swift: do simples ao complexo



Vamos começar com um exemplo básico. Em Swift, criar uma attributed string é um processo onde você define um dicionário de atributos e o aplica ao texto.



Exemplo 1: Attributed string mais simples

import UIKit

let plainText = "Hello, Swift!"let attributes: [NSAttributedString.Key: Any] = [ .foregroundColor: UIColor.red, .font: UIFont.boldSystemFont(ofSize: 18)]let attributedString = NSAttributedString(string: plainText, attributes: attributes)

// Usando em UILabellet label = UILabel()label.attributedText = attributedString


Neste exemplo, criamos uma string onde todo o texto é vermelho, com fonte negrito de 18pt. Observe o NSAttributedString.Key — é a enumeração de todos os atributos possíveis. Existem dezenas deles, e veremos os mais úteis.



Exemplo 2: Atributos diferentes para partes diferentes do texto

Aqui é onde a diversão começa. Usando NSMutableAttributedString:

let mutableString = NSMutableAttributedString(string: "Este é negrito, e este é texto vermelho")

// Aplicando fonte negrito aos primeiros 8 caracteresmutableString.addAttribute(.font, value: UIFont.boldSystemFont(ofSize: 16), range: NSRange(location: 0, length: 8))

// Aplicando cor vermelha aos últimos 17 caracteresmutableString.addAttribute(.foregroundColor, value: UIColor.red, range: NSRange(location: 17, length: 17))

// Usando em UITextViewlet textView = UITextView()textView.attributedText = mutableString


Importante: NSRange trabalha com posições de caracteres, não com índices do Swift. Tenha cuidado, especialmente com emojis e caracteres multibyte.



Top 10 atributos que você usará todos os dias



Aqui está uma lista de chaves que você usará com mais frequência ao trabalhar com NSAttributedString Swift:



  • .font — fonte (UIFont)
  • .foregroundColor — cor do texto
  • .backgroundColor — fundo do texto
  • .underlineStyle — sublinhado (NSUnderlineStyle)
  • .strikethroughStyle — tachado
  • .paragraphStyle — p

Blogs

Book Recommendations