Quero criar um rótulo clicável em meu aplicativo que me leve a uma página da web do Safari. Eu também quero que o usuário possa ligar para os números apenas clicando neles?
Obrigado por seus conselhos
iphone
objective-c
url
uilabel
Roubar
fonte
fonte
Respostas:
Você pode usar um
UITextView
e selecionar Detecção para links, números de telefone e outras coisas no inspetor.fonte
Use em
UITextView
vez deUILabel
e tem uma propriedade para converter seu texto em hiperlink.Objective-C:
Rápido:
Isso detectará links automaticamente.
Consulte a documentação para obter detalhes.
fonte
https://github.com/mattt/TTTAttributedLabel
Isso é definitivamente o que você precisa. Você também pode aplicar atributos para seu rótulo, como sublinhado, e aplicar cores diferentes a ele. Basta verificar as instruções para urls clicáveis.
Principalmente, você faz algo como o seguinte:
fonte
Você pode fazer um UIButton personalizado e setText o que quiser e adicionar um método com isso.
fonte
Se quiser que isso seja tratado pelo UILabel e não pelo UITextView, você pode criar uma subclasse UILabel, como esta:
Esta aula foi feita reutilizando o código desta resposta . Para fazer strings atribuídas, verifique esta resposta . E aqui você pode descobrir como fazer urls de telefone.
fonte
Eu gostei muito, pois cria um link com a cor azul para um texto específico, mas não em todo o texto do rótulo: FRHyperLabel
Façam:
Download link acima e cópia
FRHyperLabel.h
,FRHyperLabel.m
ao seu projeto.Arraste e solte
UILabel
em seuStoryboard
e defina o nome da classe personalizada paraFRHyperLabel
identificar o inspetor, conforme mostrado na imagem.@property (weak, nonatomic) IBOutlet FRHyperLabel *label;
`NSString * string = @" Ao enviar, concordo com os Termos de Uso "; NSDictionary * attribute = @ {NSFontAttributeName: [UIFont preferredFontForTextStyle: UIFontTextStyleHeadline]};
fonte
Use UITextView em vez de UILabel e ele tem uma propriedade para converter seu texto em hiperlink
Código Swift:
fonte
fonte
Por que não usar apenas NSMutableAttributedString ?
Você pode encontrar mais detalhes aqui
fonte
Swift 4.2, versão Xcode 9.3
fonte
Possível solução Swift 4.0 usando UIButton
fonte