Hinzufügen eines dynamischen benutzerdefinierten UIMenuItems zum Menü "Kopieren und Einfügen", bevor @ angezeigt wi

Ich konnte erfolgreich ein benutzerdefiniertes @ hinzufüge UIMenuItem zum Menü "Kopieren & Einfügen" in meiner iPhone-App und sogar zu den Unterklassen UITextView, um die Standardmenüpunkte zu entfernen. Ich muss jedoch irgendwie erfassen, dass das Menü angezeigt wird, bevor es tatsächlich angezeigt wird, und das Wort an der Einfügemarke in das Menü einfügen.

Zum Beispiel, wenn der Text im UITextView ist"Das ist ein Test." und die Person hat das Wort @ berüh "is", würde es das Wort als @ hinzufüg UIMenuItem zum UIMenuController.

Es ist wichtig, dass das Menü das Wort erst direkt nach dem Berühren anzeigt. Beim nächsten Aufruf des Menüs wird das nächste berührte Wort usw. angezeigt. Wenn Sie das Wort im Menü berühren, werden weitere Details angezeigt. Ich habe bereits Code, der das berührte Wort anhand von @ finde selectedRange. Alles was ich tun muss, ist das Wort als @ hinzuzufüg UIMenuItem, bevor das Menü angezeigt wird. Eine andere weniger elegante Lösung könnte darin bestehen, der Person zu erlauben, einen statischen Menüpunkt zu berühren, der dann das Menü mit verschiedenen Optionen basierend auf dem berührten Wort hinzufügt und erneut anzeigt.

Ich hoffe, dass es einen Weg gibt, das @ abzufang UIMenuController, möglicherweise durch Unterklassen, damit ich zum Einfügepunkt komme, bevor die Sprechblase angezeigt wird, aber trotzdem eine Änderung vornehmen kann, indem ich die Liste der Menüelemente ändere.

Gibt es eine Möglichkeit, dies zu tun? Kann mir jemand einen Codeausschnitt zeigen oder auf eine Dokumentation verweisen, die mir helfen könnte? Vielen Dank

Meine einzige andere Lösung ist, irgendwie meine eigene Sprechblase zu erstellen und das Menü "Kopieren & Einfügen" zu deaktivieren. Das müsste ich lieber nicht probieren.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage