tl; dr: Comment puis-je utiliser balayez pour afficher les boutons dans Xamarin formes comme l'application de messagerie iOSXamarin Formulaires ViewCell Balayer pour afficher les boutons
Je suis en train de mettre en œuvre balayez pour afficher les boutons pour une Xamarin Forms iOS application similaire à l'interface utilisateur de l'application de messagerie iOS ou cette https://components.xamarin.com/view/swtableviewcell. Ce composant parmi beaucoup d'autres exemples que j'ai trouvés est parfait pour les implémentations natives iOS, mais j'ai besoin de montrer cette interface via les formulaires Xamarin.
Actuellement, j'ai un geste swipe personnalisé reconnaisseur comme ceci:
[assembly: ExportRenderer(typeof(SwipeViewCell), typeof(SwipeIosRenderer))]
namespace MyApp.iOS.Renderers
{
public class SwipeIosRenderer : ViewCellRenderer
{
UISwipeGestureRecognizer swipeRightGestureRecognizer;
UISwipeGestureRecognizer swipeLeftGestureRecognizer;
protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
{
base.OnElementChanged(e);
swipeRightGestureRecognizer = new UISwipeGestureRecognizer(() => UpdateRight()) { Direction = UISwipeGestureRecognizerDirection.Right };
swipeLeftGestureRecognizer = new UISwipeGestureRecognizer(() => UpdateLeft()) { Direction = UISwipeGestureRecognizerDirection.Left };
if (e.NewElement == null)
{
if (swipeRightGestureRecognizer != null)
{
this.RemoveGestureRecognizer(swipeRightGestureRecognizer);
}
if (swipeLeftGestureRecognizer != null)
{
this.RemoveGestureRecognizer(swipeLeftGestureRecognizer);
}
}
if (e.OldElement == null)
{
this.AddGestureRecognizer(swipeRightGestureRecognizer);
this.AddGestureRecognizer(swipeLeftGestureRecognizer);
}
}
private void UpdateLeft()
{
Console.WriteLine("Left swipe");
}
private void UpdateRight()
{
Console.WriteLine("Right swipe");
}
}
qui est lié à viewcells dans une liste. Maintenant que je peux reconnaître le geste de "glissement", j'ai besoin d'aide pour déplacer réellement la cellule de vue et montrer un bouton comme les exemples que j'ai donnés plus haut.
Ce serait génial de pouvoir le faire dans les vues XAML mais je suis ouvert à tout. J'ai une fonction UpdateLeft et UpdateRight qui est appelée sur les mouvements de balayage respectifs si cela peut être utilisé?
** EDIT: J'ai besoin de faire cela à la fois pour le balayage à gauche et à droite. ContextActions fournit uniquement la fonctionnalité de balayage à gauche.
Espérons que cela a du sens!
j'aurais été plus clair, j'ai besoin à la fois actions de balayage à droite et à gauche. Contexte Les actions ne fournissent que la gauche. Edited post à clarifier .. –
Hey @AnthonyRyan, j'ai édité la réponse pour inclure une option pour utiliser le SWTableViewCell dans Xamarin.Forms. Cela pourrait certainement être amélioré, mais ce n'est qu'un exemple. –
Je cherche la même chose dans Android? une idée?? –