Erstens kann ich keinen Code posten, aber ich werde versuchen, mein Problem so gut wie möglich zu beschreiben.Erstellen Sie benutzerdefinierte IBAction in Controller meiner benutzerdefinierten Ansicht
Ok. Ich erstellte eine Custom Swift View Datei als view.xib
und lade sie in meine view.swift
I geladen Xib
. Der Xib ist ein einfacher label
über einem imageview
. Ich kann meine IBOutlet
in meiner view.swift
Datei und z. schalte das Bild um oder ändere das Etikett. view.swift
erstreckt sich einfach UIView
.
Also jetzt habe ich diese Ansicht in meine Storyboard
integriert, die einen Controller hat (nennen wir es otherVC.swift
). Jetzt will otherVC.swift
Info bekommen, dass die view.swift
berührt wird. Ich habe versucht, eine IBAction
Einstellung, aber es gibt keine Option zu setzen, nur auf IBOutlet
. Nach einigen Googe fand ich, dass die Klasse UiControl
diese Mechanik hat, um eine IBAction
einzustellen.
Also ich view.swift
verlängert nicht mehr UIView
aber jetzt UIControl
. Danach könnte ich ein IBAction
mit einem Touch-Event erstellen. (wie Touchdown oder Touch innerhalb) Wenn ich die App mit der Ansicht im Simulator starte, kann ich auf die Ansicht klicken, aber die IBAction wird nicht aufgerufen.
Also meine Frage ist, wie kann ich ein IBAction
für meine Ansicht in einem anderen VC oder vielleicht meine eigene IBActions
für die spezifische Ansicht.
wieder ..nicht in der Lage, Code zu buchen. würde gerne Snippets oder Links mit Arbeitsbeispiel
Vielen Dank!
Haben Sie versucht, Ihrer benutzerdefinierten Ansicht 'UITapGestureRecognizer' hinzuzufügen? – byJeevan
ja, aber ich möchte den Anruf, dass meine Sicht auf einen anderen VC angezapft wird senden. – Offset
In diesem Fall können Sie jeden Beobachter wie 'Delegates' oder' NSNotificationCenter' verwenden. – byJeevan