Ich verwende eine UIView
Unterklasse in meinem Today-Widget. Die Ansicht verwendet Wischgesten. Bei diesen Gesten wird jedoch entweder die gesamte Benachrichtigungszentrale nach oben oder nach unten gerollt oder die Benachrichtigungszentrale wechselt von Heute zu Benachrichtigungen .
Gibt es eine Möglichkeit, zu verhindern, dass Berührungsereignisse in die Bildlaufansicht des Benachrichtigungscenters gelangen? Die Verwendung von [self setExclusiveTouch:YES];
in der Unterklasse hat es leider nicht gelöst.
Gibt es eine Möglichkeit, zu verhindern, dass Berührungsereignisse in die Bildlaufansicht des Benachrichtigungscenters gelangen? Verwenden von [self setExclusiveTouch: YES]; in der Unterklasse hat es leider nicht gelöst.
Nein. Aufgrund der Remote-Ansicht, in der Ihr Heute-Widget angezeigt wird, macht [self setExclusiveTouch:YES]
nicht ganz das, was Sie wollen.
Die grobe Architektur in iOS 8.0 ist:
%Vor%Stellen Sie sich vor, dass die Berührung grundsätzlich geklont wird, wenn sie die Prozessgrenze überschreitet. Die exklusiven Touch-Wünsche Ihrer Ansicht sind nur im Prozessraum / Fenster Ihres Widgets relevant und werden nicht nach außen an die Benachrichtigungszentrale weitergeleitet, die Sie remote hostet.
Apples offizielle Beratung wie in einer anderen Antwort erwähnt:
Vermeiden Sie das Einfügen einer Bildlaufansicht in ein Widget. Es ist schwierig für die Benutzer um innerhalb eines Widgets zu scrollen, ohne versehentlich den Today zu scrollen sehen.
Das ist ziemlich schlecht geschriebener Rat von Apple. Es ist vollkommen in Ordnung, eine Bildlaufansicht in einem Heute-Widget zu verwenden, aber Sie müssen das Scrollen deaktivieren, damit es nicht stört. Apple verwendet sogar eine UITableView in ihrer WWDC-Diskussion.
Grundsätzlich sollten Sie die bestehenden Gesten der Notification Center nicht stören.
Die vorhandenen Gesten scrollen in alle vier Richtungen, so dass Sie ziemlich eingeschränkt sind, was Sie mit Gesten in einem Widget tun können.
Welche Art von Geste versuchen Sie zu erreichen? Du hast das Wischen erwähnt, aber wenn du das tust, wirst du die bestehenden Gesten stören und Dinge brechen. Diese Art von Verhalten wäre in einem Widget nicht erlaubt, da dies die UX des Betriebssystems selbst beeinflussen würde.
Vielleicht sollten Sie einen anderen Ansatz für Ihre Maßnahmen wählen?
Laut Apples App Extensions Programming Guide:
"Vermeiden Sie eine Scroll-Ansicht in einem Widget. Es ist schwierig für Benutzer, innerhalb eines Widgets zu scrollen, ohne versehentlich die Heute-Ansicht zu scrollen."
Tags und Links ios ios8 uiscrollview today-extension notificationcenter