2016-10-08 1 views
0

Ich habe ein Textfeld in der Collectionview-Controller, und ich möchte in der Lage sein, es durch Drücken einer Schaltfläche in einer Zelle aufzurufen. Gibt es eine Möglichkeit, dieses Textfeld in einer Zelle als firstResponder() zu markieren?So bearbeiten Sie ein Textfeld durch Berühren einer Schaltfläche innerhalb einer Zelle swift

+0

Wie viele Abschnitte befinden sich in Ihrer Sammlungsansicht? – BJHStudios

+0

Ich denke, nur die 1 –

+0

bekam ein paar andere Fragen, nur um sicherzustellen, dass ich die richtige Richtung gehe. ist das Textfeld auch in der Zelle oder ist es nur eine Eigenschaft Ihres View-Controllers außerhalb der CollectionView? – BJHStudios

Antwort

0

Okay, ich habe es funktioniert, aber ich bin mir nicht sicher, wie effizient es ist. Wenn jemand einen besseren Weg weiß, bitte posten Antworten und ich wähle das Beste nach einem Tag oder 2. Das ist was Früher habe ich:

button.addTarget(self.supernode, action: #selector(CollectionViewController.buttonTapped), forControlEvents: .TouchUpInside) 

der Grund heißt es „Supernode“ ist, weil ich bin mit asyncdisplaykit aber Super sollten das gleiche tun, wenn Sie zweimal zu intensivieren haben statt einmal, nicht sicher. Wie auch immer, ich habe dies benutzt, um eine Funktion namens buttonTapped() im Hauptansicht-Controller auszuführen.

Erneut Knoten mit Ansicht ersetzen, wenn Sie uikit oder Storyboard oder w/e verwenden. Lassen Sie mich bitte wissen, wenn dies nicht der "richtige" Weg ist, weil Leistung für mich wichtig ist.

+0

Sie haben es richtig gemacht. In der Regel Absender wäre eine UIButton – BJHStudios

+0

Was ist die Verwendung dieses ASButtonNode? Warum stellst du es dort? –

+0

Wie gesagt, ich benutze AsyncDisplayKit und es verwendet Knoten anstelle von Ansichten, also ersetzen Sie einfach das Wort "Knoten" mit "Ansicht", wenn Sie UIKit/Storyboard verwenden. Ich denke, ich erwähnte das in der Antwort zweimal lol .. –

Verwandte Themen