Wie deklariere ich eine Eigenschaft als read-write in der UIResponder-Unterklasse mit swift?

9

Ich versuche dieser Anleitung zu folgen, aber benutze swift: InputAccessoryView ist unten angedockt

Ich kann anscheinend nicht die inputAccessoryView für meinen ViewController einstellen, entsprechend der Dokumentation muss ich sie neu deklarieren:

  

Der Wert dieser schreibgeschützten Eigenschaft ist null. Wenn Sie anhängen möchten   benutzerdefinierte Steuerelemente zu einer vom System bereitgestellten Eingabeansicht (z. B. das System   Tastatur) oder zu einer benutzerdefinierten Eingabeansicht (eine, die Sie in der inputView angeben   property), deklarieren Sie diese Eigenschaft als Read-Write in einem UIResponder   Unterklasse. Sie können diese Eigenschaft dann verwenden, um ein benutzerdefiniertes Zubehör zu verwalten   Aussicht. Wenn der Empfänger der erste Responder wird, der Responder   Infrastruktur hängt die Zubehöransicht an den entsprechenden Eingang an   vor der Anzeige anzeigen.

Ich kann nicht herausfinden, wie man das mit swift macht. Jede Hilfe wird sehr geschätzt.

    
Dave 10.11.2014, 10:08
quelle

3 Antworten

1

Alte Frage, aber das kann für diejenigen nützlich sein, die Objective-C nicht allzu gut kennen.

Ich bin mir nicht sicher, wie ich das mit swift allein erreichen kann, aber es ist einfach genug, die "Drecksarbeit" in Ziel-Land zu machen und das Ergebnis in swift zu verwenden

Prozess

Bei diesem Ansatz müssen drei Dateien zu Ihrem Projekt hinzugefügt werden.

  1. Fügen Sie eine objektive C-Klasse hinzu, kopieren und fügen Sie den folgenden Code in die zwei neue Dateien (.h, .m)
  2. Fügen Sie einen Bridging-Header hinzu und kopieren Sie den angegebenen Import
  3. An dieser Stelle können Sie jede schnelle Klasse von diesem Ziel ausdehnen c     Klasse statt UIView und et voila, können Sie die ändern     inputAccessoryView.

Genießen

.h-Datei

%Vor%

.m-Datei

%Vor%

Überbrückungskopf

In der " YOUR_PROJECT_NAME -Bridging-Header.h" (oder wie auch immer es in der Objective-C Bridging-Header-Eigenschaft in den Build-Einstellungen Ihres Projekts (SWIFT_OBJC_BRIDGING_HEADER) aufgerufen wurde

) %Vor%

Schnelle Demo

%Vor%     
Chris Birch 08.01.2018, 17:03
quelle
0

So:

%Vor%     
orkenstein 28.08.2015 14:33
quelle
0

Versuchen Sie es.

%Vor%

Jedenfalls glaube ich nicht, dass dies irgendwelche Unterschiede macht.

    
Eonil 17.02.2016 10:43
quelle

Tags und Links