Quelle vue est utilisée pour créer la vue Template Chooser dans les applications iWork sur iPad? Comment puis-je créer une vue comme celle-là sur iPad, et quelle serait la meilleure façon de l'implémenter sur iPhone en tenant compte des contraintes de taille d'écran.Comment obtenir la vue Template Chooser/Document Browser sur iOS?
Répondre
Aucune vue intégrée n'offre cette fonctionnalité. Ce qui signifie qu'il y aura beaucoup de travail pour dupliquer cette fonctionnalité.
Ce que vous pouvez essayer:
1) Créer une nouvelle UIViewController
avec une pointe.
2) Ajouter la barre supérieure et un Si vous avez un nombre fixe de « modèles » ils peuvent être ajoutés directement dans la pointe UIScrollView
avec opaque = NO et alpha = 0.
3). Vous devriez pouvoir utiliser UIImageView
4) Sinon, vous pouvez ajouter les "templates" dynamiquement, par ex. viewDidLoad
. La seule partie qui peut être un peu difficile est de calculer le cadre. Le pseudo code suivant devrait vous aider à démarrer.
int MARGIN = 20;
float templateWidth = self.scrollView.bounds.size.width/3;
float templateHeight = 300;
for (int i = 0; i < [templates count]; i++) {
int row = i/3;
int col = i % 3;
float x = MARGIN + col * templateWidth;
float y = MARGIN + row * templateHeight;
CGRect templateFrame = CGRectMake(x, y, width - 2 * MARGIN, height - 2 * MARGIN);
// initialize `UIImageView` or similar
templateView.frame = templateFrame;
[self.scrollView addSubView:templateView];
}
self.scrollView.contentSize = CGSizeMake(self.scrollView.bounds.width, /* max bottom of templates */);
}
Après avoir obtenu la mise en page parfaite le reste devrait être assez simple puisque vous ne devez répondre à des prises sur vos images de modèle. Jetez un oeil à UITapGestureRecognizer
pour une façon de le faire.
En ce qui concerne l'iPhone. Je le ferais probablement de la manière dont vous sélectionnez un document dans les applications iWorks. Un seul modèle est affiché à l'écran à ce moment-là et vous faites glisser votre doigt vers la gauche/droite pour choisir. Mais tout dépend du contexte. Peut-être qu'une vue de table est mieux adaptée pour l'iPhone.
Bonne chance!
Avec iOS 6, utilisez UICollectionView!