Utilisation des contrôles de page tvOS dans Xamarin
Parfois, vous devrez peut-être afficher une série de pages ou d’images dans votre application Xamarin.tvOS. Un contrôle de page a été conçu pour afficher clairement la page sur laquelle un utilisateur est sur le nombre maximal de pages. Un contrôle page affiche une série de points par rapport à un arrière-plan en forme d’ovale foncé. La page active affiche un point rempli, toutes les autres pages s’affichent sous forme de points creux. Le contrôle Page va découper la plupart des points externes s’il y a trop de points à ajuster dans sa zone d’arrière-plan.
Contrôle de page dans un élément non interactif conçu pour envoyer des commentaires à l’utilisateur uniquement. Vous devez ajouter d’autres contrôles pour modifier le numéro de page actuel (par exemple, les mouvements ou les boutons).
Apple propose les suggestions suivantes lors de l’utilisation d’un contrôle de page :
- Utiliser uniquement sur les collections complètes : les contrôles de page fonctionnent le mieux dans un environnement plein écran pour afficher plusieurs pages qui existent dans une seule collection.
- Limitez le nombre de pages - Les contrôles de page fonctionnent mieux pour dix (10) pages ou moins, et un maximum de vingt (20) pages. Pour plus de vingt pages, envisagez d’utiliser un affichage collection et d’afficher les pages d’une grille.
Contrôles de page et tableaux de montage séquentiel
Le moyen le plus simple d’utiliser les contrôles de page dans une application Xamarin.tvOS consiste à les ajouter à l’interface utilisateur de l’application à l’aide du concepteur iOS.
Dans le panneau Solution, double-cliquez sur le
Main.storyboard
fichier et ouvrez-le pour modification.Faites glisser un contrôle de page à partir de la boîte à outils et déposez-le dans l’affichage :
Dans l’onglet Widget du panneau Propriétés, vous pouvez ajuster plusieurs propriétés du contrôle Page, telles que sa page active et son nombre de pages :
Ensuite, ajoutez des contrôles ou des mouvements à la vue pour avancer vers l’arrière et vers l’avant dans la collection de pages.
Enfin, affectez des noms aux contrôles afin que vous puissiez y répondre en code C#. Par exemple :
Enregistrez vos modifications.
Important
Bien qu’il soit possible d’affecter des événements tels qu’un TouchUpInside
élément d’interface utilisateur (tel qu’un UIButton) dans le Concepteur iOS, il ne sera jamais appelé, car Apple TV n’a pas d’écran tactile ou ne prend pas en charge les événements tactiles. Vous devez toujours utiliser l’événement lors de la Primary Action
création de gestionnaires d’événements pour les éléments d’interface utilisateur tvOS.
Modifiez votre fichier View Controller (exemple ViewController.cs
) et ajoutez le code pour gérer les pages en cours de modification. Par exemple :
using System;
using Foundation;
using UIKit;
namespace MySingleView
{
public partial class ViewController : UIViewController
{
#region Computed Properties
public nint PageNumber { get; set; } = 0;
#endregion
#region Constructors
public ViewController (IntPtr handle) : base (handle)
{
}
#endregion
#region Override Methods
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Initialize
PageView.Pages = 6;
ShowCat ();
}
public override void DidReceiveMemoryWarning ()
{
base.DidReceiveMemoryWarning ();
// Release any cached data, images, etc that aren't in use.
}
#endregion
#region Custom Actions
partial void NextCat (UIBarButtonItem sender) {
// Display next Cat
if (++PageNumber > 5) {
PageNumber = 5;
}
ShowCat();
}
partial void PreviousCat (UIBarButtonItem sender) {
// Display previous cat
if (--PageNumber < 0) {
PageNumber = 0;
}
ShowCat();
}
#endregion
#region Private Methods
private void ShowCat() {
// Adjust UI
PreviousButton.Enabled = (PageNumber > 0);
NextButton.Enabled = (PageNumber < 5);
PageView.CurrentPage = PageNumber;
// Display new cat
CatView.Image = UIImage.FromFile(string.Format("Cat{0:00}.jpg",PageNumber+1));
}
#endregion
}
}
Examinons de plus près deux propriétés du contrôle page. Tout d’abord, pour spécifier le nombre maximal de pages, utilisez les éléments suivants :
PageView.Pages = 6;
Pour modifier le numéro de page actif, utilisez le code suivant :
PageView.CurrentPage = PageNumber;
La CurrentPage
propriété est de base zéro (0), de sorte que la première page sera égale à zéro et la dernière sera un moins le nombre maximal de pages.
Pour plus d’informations sur l’utilisation de Storyboards, consultez notre Guide de démarrage rapide Hello, tvOS.
Résumé
Cet article a abordé la conception et l’utilisation du contrôle de page à l’intérieur d’une application Xamarin.tvOS.