Swift: comment faire une UIView cliquable dans UITableViewCell?
À l'intérieur d'un UITableViewCell
, je suis en train de mettre en œuvre un bouton avec un image et un texte.
Il semble que le standard UIButton
ne peut atteindre que. J'ai donc créé un UIView
qui contient un UIImageView
et un UILabel
.
Vous pouvez voir la mise en œuvre, ici, sur le côté droit, "suivre le voyage de la touche" " (le "+" est une UIImageView, et "suivre trip" est un UILabel)
Je suis maintenant essayer de faire de telles UIView
(c'est à dire en cliquant sur le bouton cliquable, mais je ne peux pas trouver un moyen.
C'est mon œuvre, mais il ne fonctionne pas:
class StationsIntroHeader: UITableViewCell {
@IBOutlet weak var bigButton: UIView!
override func awakeFromNib() {
super.awakeFromNib()
let tap = UITapGestureRecognizer(target: self, action: Selector("followTrip:"))
bigButton.addGestureRecognizer(tap)
}
func followTrip(sender:UITapGestureRecognizer) {
print("tap working")
}
}
J'ai fait en sorte que le Interaction de l'Utilisateur Activé est SUR le UIView
et OFF sur le UIImageView
et UILabel
Les touches sont en train d'être "absorbée" par la
UITableView
. Ajouter un logiciel de reconnaissance de geste de la UITableView
à la place et à utiliser les coordonnées de déterminer lequel des cellules et le bouton qui a été cliqué.pour moi une mise en œuvre, comme la vôtre, est totalement à travailler! êtes-vous sûr de tout mettre en place correctement?
OriginalL'auteur Daniele B | 2015-11-11
Vous devez vous connecter pour publier un commentaire.
pour moi un exemple de configuration comme suit totalement des travaux:
je n'ai pas modifier les valeurs par défaut de
userInteractionEnabled
pour la vue ou de l'imageview ou l'étiquette. comparer la mise en œuvre de la vôtre et de voir si vous avez peut-être oublié quelque chose... avez-vous, par exemple, branchez la prise de courant?exemple de projet: https://www.dropbox.com/sh/hpetivhc3gfrapf/AAAf6aJ0zhvRINPFJHD-iMvya?dl=0
modifier pour votre projet
Si vous ne trouvez pas ce qui ne va pas, de la part de votre projet via dropbox - si disponible - et je prends un coup d'oeil!
Je ne trouve pas le fixer! J'ai téléchargé une version simplifiée: dropbox.com/sh/rgfvrn1jpqcfloj/AADEar4aryx08rwb6je5s_mqa?dl=0
vérifier mon montage...
content d'avoir pu aider 🙂
OriginalL'auteur André Slotta
Vous pouvez simplement sous-classe UIButton, et de mettre en œuvre le dessin personnalisé. UIButton est le moyen le plus simple pour faire la tâche, sans perturber la tableview touche. Si vous mettez en œuvre appuyez sur le geste, sur la table, il va causer des problèmes à la cellule touche.
Vous pouvez simplement obtenir de l'image personnalisée (à la fois signe + et le texte comme une image) et l'utiliser comme image d'arrière-plan.
Ou vous pouvez même dessiner avec un code.
Par exemple, vous pouvez essayer ceci:
et le résultat sera quelque chose comme:
OriginalL'auteur Teja Nandamuri