Ich bin daran interessiert, UI-Änderungen in meiner Anwendung programmgesteuert zu erfassen und dachte, dass das Protokoll UIAccessibility
möglicherweise hilfreich ist. Ich habe gefunden, wie man UIAccessibilityLayoutChangedNotification
und UIAccessibilityScreenChangedNotification
bekannt gibt, aber ich bin nicht sicher, wie man sich registriert, um diese Mitteilungen zu empfangen.So erhalten Sie UIAccessibilityNotifications in der iPhone App
Ich habe versucht, NSNotificationCenter
verwenden, aber die name
param erwartet einen string
, während die beiden oben genannten Mitteilungen des Typs UIAccesibilityNotifications
sind, die ein int
ist.
Haben Sie eine Idee, wie Sie sich für diese Benachrichtigungen registrieren?
Danke!
Danke für die detaillierte Erklärung. Nur ein paar Nachfragen: - Ist das _UIAccessibilitySetBroadcastCallback eine Instanzmethode von UIAccessibilityPostNotification? Wenn dies der Fall ist, bedeutet dies, dass Sie nur den Rückruf für Ihre eigenen benutzerdefinierten Benachrichtigungen überschreiben können, anstatt Benachrichtigungen, die in UIWebView oder einer anderen solchen Ansicht implementiert werden. -Ich bin ein wenig unklar, wie ein privates Framework zu ändern. Ich wollte nur diese Methodensignatur zu UIAccessibility.h in UIKit hinzufügen, aber ich kann diese Datei nicht ändern. Gibt es einen einfacheren Zugang zu dieser Methode? – MobileDev852
@Mobile: (1) '_UIAccessibilitySetBroadcastCallback' ist eine C-Funktion. (2) Ja, Sie können nur überschreiben. Und übersteuert werden. Aber nein, der Callback wird von den Accessibility-Bundles implementiert. Das 'UIWebView' versendet nur Benachrichtigungen. (3) Sie können den Funktionsprototyp beliebig platzieren. (4) Ich empfehle Ihnen nicht, sich damit zu beschäftigen, jailbroken oder nicht. – kennytm