Frage

Ich habe eine Offenlegungstaste in einer einfachen App, an der ich arbeite, die verwendet wird BKToolkit. Ich habe mich angeschlossen Disclosure Taste mit Push On Push Off zum toggleCollapse: Aktion in der SplitView. Der Knopf funktioniert in dem Aspekt, den er zusammenbricht und den Bereich richtig enthüllt. Es funktioniert nicht korrekt, um seinen eigenen Zustand mit dem Aussehen der Panels übereinzuhalten.

Die Schaltfläche beginnt mit einem Pfeil nach oben, um anzuzeigen, dass das Panel geöffnet ist. Hier ist die Abfolge von Ereignissen:

  1. Ich drücke die Taste, um das Panel zu schließen. Offenlegungspfeil tritt nun nach unten.
  2. Ich drücke die Taste, um das Panel anzuzeigen. Offenlegungspfeil Immer noch runter.
  3. Jegliche nachfolgende Drücke zur Taste ändern nichts. Der Pfeil tritt immer noch nach unten.

Es wird beim ersten Mal korrekt animiert. Was ist also los.

alt text alt text

Dies ist der fehlerhafte Zustand:

alt text

War es hilfreich?

Lösung

So verhält sich die Kontrolle nicht normal. Ich wollte fragen, wie Sie seinen Status festlegen, aber es sieht so aus, als ob die Split -View -Steuerung in bktoolkit aufzeichnet, der erste Absender, der sie die Umschaltnachricht sendet, und verwaltet den Status dieses Absender danach.

Dies kann beispielsweise ein Problem sein, wenn Sie auch ein Menüelement haben, das dieses Umschaltverhalten aufruft und das verwendet hat, um das Umschalten zu testen. In diesem Fall würde der Status Ihrer Schaltfläche nicht aktualisiert.

Ich sehe keine einfache Lösung, da dieses Verhalten im Code der BKToolkit Split View hart verkabelt ist. Vielleicht sollten Ihre Steuerelemente Ihre anrufen besitzen Schalten Sie die Methode in einem der Controller Ihrer App um, setzen Sie den Zusammenbruchstatus direkt (so dass alles auf den Zustand zustimmt) und verwaltet den gesamten Zustand Ihrer Benutzeroberfläche selbst.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top