Ich habe diese Funktion implementiert.Wie erkenne ich eine Berührung in navigationController.view?
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let point = touches.first?.location(in: self.view) else { return }
for i in 0..<paths.count {
if paths[i].contains(point) { addViews(selectedView: i); break }
}
}
Meine Designer entschieden, dass sie einen kleinen Teil der Ansichten machen wollen, die ich hinzufüge, um die navigationBar zu überlagern. Das Problem ist, dass ich nach dem Hinzufügen der Ansichten zur navigationController.view statt dessen die Berührungen nicht mehr erkennen kann. Ich habe versucht Ort (in: self.navigationController.view) und das hat nicht funktioniert. Bevor ich in das Kaninchenloch von endlosen verschiedenen Dingen gehe, die funktionieren könnten, hat jemand eine einfache Antwort für mich?
ich deutlicher hätte sein sollen. TapRecognizer arbeiten nur mit Ansichten und ich benutze speziell einen UIBezierPath, um den Tap zu erkennen, da es sich um mehrere Ebenen innerhalb derselben Ansicht handelt. Ich bearbeite und posten ein Bild, damit es leichter zu verstehen ist. – Sethmr
Cool, ich könnte versuchen, die Schichten zurück in die ViewController.view zu verschieben und entweder die Navigationsleiste ausblenden, oder entfernen Sie die ViewController von der NavigationController. – FryAnEgg