Eu quero criar um UILabel
em que o texto seja assim
Como posso fazer isso? Quando o texto é pequeno, a linha também deve ser pequena.
Eu quero criar um UILabel
em que o texto seja assim
Como posso fazer isso? Quando o texto é pequeno, a linha também deve ser pequena.
NSAttributedString
e aUILabel attributedText
propriedade.Respostas:
SWIFT 4 UPDATE CODE
então:
Para fazer alguma parte da corda atingir, em seguida, forneça alcance
Objective-C
No iOS 6.0>
UILabel
suportaNSAttributedString
Rápido
Definição :
Parameters List:
nome : uma string especificando o nome do atributo. As chaves de atributo podem ser fornecidas por outra estrutura ou podem ser personalizadas que você definir. Para obter informações sobre onde encontrar as chaves de atributo fornecidas pelo sistema, consulte a seção de visão geral em Referência da classe NSAttributedString.
valor : o valor do atributo associado ao nome.
aRange : o intervalo de caracteres aos quais o par atributo / valor especificado se aplica.
Então
Pois
lesser than iOS 6.0 versions
você precisa3-rd party component
fazer isso. Um deles é TTTAttributedLabel , outro é OHAttributedLabel .fonte
Em Swift, usando o enum para o estilo de linha tachada única:
Estilos de tachado adicionais ( lembre-se de acessar o enum usando .rawValue ):
Padrões tachados (para serem OR com o estilo):
Especifique que o tachado deve ser aplicado apenas em palavras (não em espaços):
fonte
Eu prefiro
NSAttributedString
aNSMutableAttributedString
este caso simples:Constantes para especificar os atributos
NSUnderlineStyleAttributeName
eNSStrikethroughStyleAttributeName
de uma string atribuída:fonte
Tachado em Swift 5.0
Funcionou para mim como um encanto.
Use-o como extensão
Ligar assim
Extensão UILabel para tachado Ativar / Desativar.
Use-o assim:
fonte
CÓDIGO SWIFT
então:
Graças à resposta do Príncipe ;)
fonte
SWIFT 4
Outro método é usar String Extension
Extension
Chamando a função: usei assim
Crédito para @Yahya - atualização de dezembro de 2017
Crédito para @kuzdu - atualização de agosto de 2018
fonte
value
0
e Purnendu roy passavalue: NSUnderlineStyle.styleSingle.rawValue
Você pode fazer isso no IOS 6 usando NSMutableAttributedString.
fonte
Riscar o texto UILabel no Swift iOS. Por favor, tente isso está funcionando para mim
Você pode alterar seu "estilo tachado", como estiloSingle, styleThick, styleDouble
fonte
Swift 5
Exemplo:
fonte
Para quem está procurando como fazer isso em uma célula tableview (Swift), você deve definir o .attributeText assim:
Se quiser remover o tachado, faça isso, caso contrário, ele ficará grudado !:
fonte
Swift 4.2
fonte
Posso chegar atrasado para a festa.
De qualquer forma, estou ciente do
NSMutableAttributedString
mas recentemente consegui a mesma funcionalidade com uma abordagem um pouco diferente.Depois de seguir todos os passos acima, meu Label, UIView e suas restrições ficaram parecidos com a imagem abaixo.
fonte
Use o código abaixo
fonte
Altere a propriedade do texto para atribuída e selecione o texto e clique com o botão direito para obter a propriedade da fonte. Clique no tachado.
fonte
Para aqueles que enfrentam problemas com greves de texto de várias linhas
fonte
Crie a extensão String e adicione o método abaixo
então use para o seu rótulo como este
fonte
Este é o que você pode usar no Swift 4 porque NSStrikethroughStyleAttributeName foi alterado para NSAttributedStringKey.strikethroughStyle
fonte
Swift 4 e 5
Exemplo
fonte