Como posso adicionar ação touchbegin UIView ou ação touchend programaticamente, já que o Xcode não está fornecendo de Main.storyboard?
ios
swift
uiview
uiviewcontroller
dhaval shah
fonte
fonte
UILongPressGestureRecognizer
com ominimumPressDuration
conjunto para zero. Veja esta resposta. Não requer subclassificação ou substituição de nada.Respostas:
Você terá que adicioná-lo por meio de código. Experimente isto:
fonte
Swift 4/5:
Swift 3:
fonte
Atualizando a resposta de @Crashalot para Swift 3.x:
fonte
Atualizando a resposta de @Chackle para Swift 2.x:
fonte
Coloque isso em sua
UIView
subclasse (é mais fácil se você criar uma subclasse para essa funcionalidade).fonte
UIView
prensa ou deseja controlar algumas prensas em cada uma dasUIView
?Para Swift 4
fonte
Swift 4.2:
fonte
Crie pontos de venda a partir de visualizações que foram criadas no StoryBoard.
Substitua o método touchesBegan. Existem 2 opções, cada um pode determinar qual é a melhor para ele.
Detecte o toque em uma visão especial.
Detecte o ponto de toque na visão especial.
Por último, você precisa declarar as funções que serão chamadas, dependendo de qual visualização o usuário clicou.
fonte
você pode usar desta forma: criar extensão
e use desta forma:
fonte
Apenas uma atualização das respostas acima:
Se você deseja ver as mudanças no evento de clique, ou seja, a cor do seu UIVIew shud muda sempre que o usuário clica no UIView, então faça as mudanças conforme abaixo ...
Além disso, chame esta classe do Storyboard & ViewController como:
fonte
Atualizando a resposta de @stevo.mit para Swift 4.x:
fonte