Comment faire UITableView en-Tête sélectionnable?
J'ai fait une section personnalisée-d'en-tête pour UITableView, qui comprend quelques-uns des commandes comme segmenté de contrôle, UIImageView ,etc. Il a réussi à s'affiche, mais il n'est pas tappable donc je ne peux pas interagir avec ses contrôles.
J'ai besoin de savoir comment puis-je faire de cet en-tête de la vue sélectionnables?
Post un peu de code...
si vous utilisez ImageView comme base de vue, puis utilisez imageView.userInteractionEnabled = OUI;
poster votre code.
si vous utilisez ImageView comme base de vue, puis utilisez imageView.userInteractionEnabled = OUI;
poster votre code.
OriginalL'auteur kaymas | 2013-11-15
Vous devez vous connecter pour publier un commentaire.
Il n'y a aucun moyen de le faire avec le UITableViewDelegate.
Vous devez ajouter un UITapGestureRecognizer à yourHeaderView Comme:
POUR Swift 3.0
Swift >= 4.0
Ajouter UIGestureRecognizerDelegate de référence de classe héritée
peut être de l'aide.
Heureux De Codage.
Juste une petite remarque:
.numberOfTouchesRequired
et.numberOfTapsRequired
sont par défaut à 1, de sorte que vous n'avez pas besoin de régler manuellement, sauf si c'est quelque chose autre que 1.OriginalL'auteur Dhaval Bhadania
Voici ce qui a fonctionné pour moi:
tableView.dequeueReusableHeaderFooterView
de recycler une vue existante au lieu d'en créer un nouveau à chaque fois que vous devez vous assurer que vous n'avez pas à plusieurs reprises ajoutez leUITapGestureRecognizer
plus et plus.OriginalL'auteur hkdalex
Créer une section personnalisée headerView.. et puis Appuyez sur ajouter geste.
OriginalL'auteur dRAGONAIR
Simple goutte dans la solution pour Swift 3.0
OriginalL'auteur netshark1000
De créer une vue personnalisée utilisées en tant que chef de section de la vue et de mettre en œuvre la méthode
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
, il sera appelé lors de votre doigt, appuyez sur.OriginalL'auteur KudoCC
Vous pouvez simplement ajouter un UIButton à votre vue d'en-tête (ou votre vue d'en-tête peut être un UIButton lui-même).
OriginalL'auteur naveed148
Ma mise en œuvre de Swift:
Dans votre
UITableViewController
:Dans
MyView
:OriginalL'auteur JAL
swift solution pour cela:
Puis de mettre en œuvre
Assurez-vous de faire votre appel viewcontroller adhérer à UIGestureRecognizerDelegate
OriginalL'auteur Apple-and-Oranges
Mise à jour pour Swift 3.1
OriginalL'auteur aqsa arshad
Voici ce qui a fonctionné pour moi
OriginalL'auteur Alok.U