Honnêtement, je ne sais pas comment sous-classer un UITableView. Je suis très confus et cherche toute l'aide possible. Comment puis-je "sous-classer" un UITableView? La raison pour laquelle je dois le faire est parce que j'ai besoin que la table réponde aux touches de l'arrière-plan pour que les claviers puissent être cachés. J'ai essayé de googler mais je n'ai rien trouvé. Toute aide est extrêmement appréciée!Comment sous-classer UITableView?
Répondre
La plupart du temps, vous ne devriez pas avoir besoin de sous-classe UITableView
, alors voyez si vous pouvez éviter de le faire en premier. Si vous absolument devez, créer une sous-classe qui hérite de UITableView
et remplacer les méthodes liées au toucher dans la mise en œuvre:
// MyTableView.h
@interface MyTableView : UITableView {
}
@end
// MyTableView.m
@implementation MyTableView
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesBegan:touches withEvent:event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesMoved:touches withEvent:event];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[super touchesEnded:touches withEvent:event];
}
- (void)touchesCancelled:(NSSet*)touches withEvent:(UIEvent*)event {
[super touchesCancelled:touches withEvent:event];
}
@end
Dans votre fichier .h déclarerons comme sous-classe:
@interface myViewController: UITableViewController
mettre en œuvre ensuite les méthodes déléguées UITableViewController:
Pour détecter des touches sur une cellule écrire votre logique dans le tableView:didSelectRowAtIndexPath:
méthode: http://developer.apple.com/iphone/library/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:didSelectRowAtIndexPath:
La question portait sur UITableView pas UITableViewController – thrusty
- 1. comment personnaliser uitableview
- 2. Comment créer cette UITableView
- 3. Comment repositionner UITableView?
- 4. connect UITableView + UITableView
- 5. Comment actualiser les données UITableView?
- 6. Comment créer un UITableView seulement?
- 7. Plusieurs UITableView/datasources - comment l'aborder?
- 8. Comment ajouter UITableView à UIAlertView?
- 9. UITableView Implémentation
- 10. UITableView orientation
- 11. UITableView formulaire
- 12. UITableView 'Bookmark'
- 13. UITableView Problème
- 14. UITableView Indexation
- 15. UITableView scrollToRowAtIndexPath
- 16. sectioned UITableView
- 17. UITableView redessiner
- 18. NSInvalidArgumentException UITableView
- 19. UITableView reloadData
- 20. UItableView + UItabbar
- 21. UITableView reuseIdentifier
- 22. UITableView position
- 23. erreur UITableView
- 24. NSArray, UITableView
- 25. UITableView Checklist
- 26. UITableView - Alphabet
- 27. Problèmes UITableView
- 28. UITableView SwipeGesture
- 29. Espace inexpliqué au-dessus de UITableView (entre UITableView et TopBar)
- 30. Comment afficher plusieurs colonnes dans un UITableView?
Une chose à ajouter: Ne pas oublier de implémentez 'UITableViewDelegate' et' UITableViewDataSource' si nécessaire – Raptor
Je pense qu'il est utile d'expliquer pourquoi vous ne devriez pas avoir besoin de sous-classer UITableView. La raison en est que vous pouvez accomplir beaucoup de personnalisation en passant des cellules personnalisées à une instance UITableView standard (via cellForRowAtIndexPath). En d'autres termes, votre contrôleur agit en tant que source de données pour votre table, et lorsque la table est en cours de configuration, elle demandera des cellules à votre contrôleur. C'est ce que tentent les tutoriels standards. – kris