Как сместить UIScrollView на ширину одного кадра? (Xcode, Swift) - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь создать приложение, которое использует функциональность, аналогичную Snapchat, в которой пользователь может перемещаться между 3 кадрами, расположенными рядом друг с другом по горизонтали.Кажется, все работает, но по умолчанию scrollView представляет вид в крайнем левом углу и позволяет пользователю дважды провести пальцем вправо, чтобы достичь самого правого вида.Мне бы хотелось, чтобы в режиме прокрутки сначала отображался средний вид, позволяющий пользователю проводить пальцем влево или вправо, но, похоже, этого не получается.Заранее спасибо.

class ViewController: UIViewController {

@IBOutlet weak var scrollView: UIScrollView!

override func viewDidLoad() {
    super.viewDidLoad()

    scrollView.frame = self.view.bounds

    let ViewOne = HomeViewController(nibName: "HomeViewController", bundle: nil)
    ViewOne.view.frame = self.view.bounds

    let ViewTwo = ExploreViewController(nibName: "ExploreViewController", bundle: nil)
    ViewTwo.view.frame = self.view.bounds

    let ViewThree = ProfileViewController(nibName: "ProfileViewController", bundle: nil)
    ViewThree.view.frame = self.view.bounds

    self.addChildViewController(ViewOne)
    self.scrollView.addSubview(ViewOne.view)
    ViewOne.didMove(toParentViewController: self)

    self.addChildViewController(ViewTwo)
    self.scrollView.addSubview(ViewTwo.view)
    ViewTwo.didMove(toParentViewController: self)

    self.addChildViewController(ViewThree)
    self.scrollView.addSubview(ViewThree.view)
    ViewThree.didMove(toParentViewController: self)

    ViewTwo.view.center = CGPoint(x: ViewOne.view.center.x + self.view.frame.width, y: self.view.center.y)
    ViewThree.view.center = CGPoint(x: ViewOne.view.center.x - self.view.frame.width, y: self.view.center.y)

    scrollView.contentSize = CGSize(width: self.view.frame.width * 3, height: self.view.frame.height)
    print(self.view.center.x)

}

1 Ответ

0 голосов
/ 17 ноября 2018
scrollView.contentOffset = CGPoint(x: self.view.bounds.width, y: 0)

Это смещает представление прокрутки на величину, равную ширине представления

...