iOS Restreindre le sens du défilement


Exemple

Vous pouvez restreindre les instructions que l'utilisateur peut faire défiler à l'aide du code suivant:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if scrollView.contentOffset.x != 0 {
        scrollView.contentOffset.x = 0
    }
}

Chaque fois que l'utilisateur fait défiler l'axe des x, le décalage du contenu de scrollView est remis à 0.
Vous pouvez évidemment changer les x s en y s et verrouiller ainsi la direction pour être horizontale uniquement.

Vous devez également vous assurer de placer ce code dans la méthode déléguée scrollViewDidScroll(_ scrollView: UIScrollView) . Sinon, vous ne pourrez pas le faire fonctionner.

Veillez également à avoir importé UIScrollViewDelegate dans votre déclaration de classe, comme ceci:

class ViewController: UIViewController, UIScrollViewDelegate

... et définissez le délégué de scrollView sur une méthode comme viewDidLoad(_:)

scrollView.delegate = self