tl; dr: Wie kann ich Swipe verwenden zeigen Tasten in Xamarin Formen wie die iOS-Mail-AppXamarin Forms ViewCell Swipe Buttons zeigen
Ich versuche Swipe zu implementieren Tasten zeigen für eine Xamarin iOS Forms App ähnlich der Benutzeroberfläche der iOS-Mail-App oder diese https://components.xamarin.com/view/swtableviewcell. Diese Komponente neben vielen anderen Beispielen, die ich gefunden habe, sieht gut aus für native iOS-Implementierungen, aber ich muss diese Benutzeroberfläche über Xamarin-Formulare anzeigen.
Zur Zeit habe ich eine benutzerdefinierte Swipe Gestenerkenner wie folgt aus:
[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");
}
}
, die auf viewcells in einer Liste gebunden ist. Jetzt, wo ich die "Swipe" -Geste erkennen kann, brauche ich Hilfe, wie ich die Ansichtszelle tatsächlich bewegen kann und einen Knopf wie die Beispiele, die ich oben angegeben habe, zeige.
Es wäre großartig, dies in den Ansichten XAML zu tun, aber offen für alles. Ich habe eine UpdateLeft und UpdateRight-Funktion, die auf den entsprechenden Swipe-Bewegungen auch aufgerufen wird, wenn das verwendet werden kann?
** BEARBEITEN: Ich muss dies für beide linken und rechten Swipe tun. ContextActions stellt nur die linke Swipe-Funktionalität bereit.
Hoffe das macht Sinn!
ich mehr klar gewesen sein sollte, muss ich beide Rechts- und Linkswischaktionen. Kontext Aktionen bieten nur die linke Seite. Editierter Beitrag zur Klärung .. –
Hey @AnthonyRyan, Ich habe die Antwort bearbeitet, um eine Option zur Verwendung der SWTableViewCell in Xamarin.Forms enthalten. Dies könnte definitiv verbessert werden, aber es ist nur ein Beispiel. –
Ich bin auf der Suche nach der gleichen Sache in Android? irgendeine Idee?? –