Ok, então eu UILabel
criei um construtor de interface que exibe algum texto padrão de "toque para começar".
Quando o usuário toca em UILabel
, quero acionar um método IBAction:
-(IBAction)next;
que atualiza o texto do rótulo para dizer algo novo.
Seria muito conveniente se isso me permitisse simplesmente arrastar uma conexão do meu método para a minha etiqueta e, em seguida, selecionar retocar dentro, como com um botão. mas, infelizmente, nada de charuto.
Então, de qualquer forma, minha pergunta é: vou ter que criar uma subclasse UILabel
para fazer isso funcionar? Ou há alguma maneira de arrastar um botão sobre o rótulo, mas torná-lo 0% opaco. Ou existe uma solução mais simples que estou perdendo?
fonte
UILabel herda de UIView que herda de UIResponder. Todos os objetos UIresponder podem manipular eventos de toque. Portanto, em seu arquivo de classe que conhece sua visualização (que contém o UIlabel), implemente:
No construtor de interface, defina o valor da tag UILabel. quando os toques ocorrem em seu método touchesBegan, verifique o valor da tag da visualização à qual a tag pertence:
Você conecta seu código em seu arquivo de classe com o objeto UILabel no construtor de interface, declarando sua variável de instância UILabel com o prefixo IBOutlet:
Então, no construtor de interface, você pode conectá-los.
fonte
Você pode usar um UIButton, torná-lo transparente, ou seja, um tipo personalizado sem uma imagem, e adicionar um UILabel nele (centralizado). Em seguida, conecte os eventos de botão normais.
fonte
Swift 3
Você tem um IBOutlet
No qual você ativa a interação do usuário e adiciona um reconhecedor de gestos
E finalmente, manuseie a torneira
fonte