Hallo ich bin's mal wieder ,
ich stehe vor dem Problem das ich nicht in der Lage bin ein SwipeGesture zu erkennen. Ich selber vermute mal ganz stark das hier die View schuld ist.
Ich habe folgende Klasse definiert:
Alles anzeigen
Das Ziel das ich erreichen möchte wäre es, nachdem ich 3-mal nach Links "geswiped" habe, ich dann ein Button anzeige lasse.
Natürlich habe ich das noch nicht so gemacht, da ich momentan an der Erkennung des swipes hänge.
Ich hab den GestureRecognizer an alle möglichen Views drangehängt, dennoch klappt das nicht, woran könnte das liegen?
ich stehe vor dem Problem das ich nicht in der Lage bin ein SwipeGesture zu erkennen. Ich selber vermute mal ganz stark das hier die View schuld ist.
Ich habe folgende Klasse definiert:
PHP-Quellcode
- class OnBoardingViewController: UIViewController, PaperOnboardingDataSource, PaperOnboardingDelegate {
- @IBOutlet weak var getStartedButton: UIButton!
- override func viewDidLoad() {
- super.viewDidLoad()
- let onboarding = PaperOnboarding()
- onboarding.dataSource = self
- onboarding.translatesAutoresizingMaskIntoConstraints = false
- onboarding.tag = 100
- view.addSubview(onboarding)
- view.addSubview(getStartedButton)
- self.getStartedButton.alpha = 0
- let leftSwipe = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipe(sender:)))
- leftSwipe.direction = .left
- // Keines dieser Aufrufe hat geholfen
- let onboardingView = view.viewWithTag(100)
- onboardingView?.addGestureRecognizer(leftSwipe)
- onboarding.addGestureRecognizer(leftSwipe)
- view.addGestureRecognizer(leftSwipe)
- DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(4), execute: {
- UIView.animate(withDuration: 0.8, animations: {
- self.getStartedButton.alpha = 1
- })
- })
- // add constraints
- for attribute: NSLayoutAttribute in [.left, .right, .top, .bottom] {
- let constraint = NSLayoutConstraint(item: onboarding,
- attribute: attribute,
- relatedBy: .equal,
- toItem: view,
- attribute: attribute,
- multiplier: 1,
- constant: 0)
- view.addConstraint(constraint)
- }
- }
- @objc func handleSwipe(sender: UISwipeGestureRecognizer) {
- if sender.state == .ended {
- print(">>>>>>>Has swiped<<<<<<<<")
- }
- }
Natürlich habe ich das noch nicht so gemacht, da ich momentan an der Erkennung des swipes hänge.
Ich hab den GestureRecognizer an alle möglichen Views drangehängt, dennoch klappt das nicht, woran könnte das liegen?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Swiffer ()